Vibration analysis for predictive maintenance in machinery

ABSTRACT

A method for detecting vibration signatures in a reversible drive is disclosed. The method includes the steps of acquiring digital data representative of vibrations in the reversible drive and identifying and grouping together portions of data in a plurality of groups. The identified portions of data relate to a particular direction of travel of the reversible drive and the plurality of groups relate to travel in different directions of the reversible drive. The method can include the further step of processing at least one of the groups of data using signal processing techniques. A system and computer program product for practicing the method for detecting vibration signatures in a reversible drive are also disclosed.

FIELD OF THE INVENTION

[0001] The present invention relates generally to vibration analysis inmachinery and more specifically to vibration analysis, for purposes ofpredictive maintenance, in rotating, reciprocating and cyclic machinery.

BACKGROUND

[0002] Predictive maintenance aims to sustain the availability ofequipment and avoid catastrophic failures, which may cause severeconsequential damage to other components of the equipment before theequipment can be shut down. The avoidance of catastrophic failures oftenreduces the number of components to be replaced. Predictive maintenanceis further beneficial in that equipment down time can be predicted andscheduled. Thus, unscheduled down time can be minimised and delays thatmay be incurred due to procurement of spare parts can be avoided.

[0003] Rotating and reciprocating machinery represent very commonlyfound types of equipment found in industry and it is for this reasonthat extensive work has been conducted on techniques to aid predictivemaintenance programs on such equipment, including vibration analysis,infra-red thermography and oil analysis.

[0004] Two known techniques used in vibration analysis include TimeSynchronous Averaging (TSA) and Order Tracking. Both techniques are usedin conjunction with a conventional Fast Fourier Transform (FFT) toproduce a frequency spectrum of the vibration data for analysis todetect vibration signatures indicative of actual or potential faultconditions.

[0005] Various vibration analysis techniques are well documented andhave a proven record in predicting catastrophic failures. However, anarea that has attracted little attention is that of the analysis offrequently reversing drives, particularly such as found in rotating andreciprocating machinery. No techniques are currently known for thesuccessful analysis of equipment vibrations whilst that equipment isaccelerating or decelerating and for differentiation between vibrationsignatures in the forward and reverse directions. One reason is thatsystem dynamics change with speed, direction, and more importantly, withload. Another reason for the limited analysis of frequently reversingdrives is that the period during which the equipment runs at a constantspeed is normally insufficient for vibration analysis to be performed.

[0006] A need thus exists for a vibration analysis technique that can beapplied to frequently reversing, rotating, reciprocating and cyclicmachinery. Draglines, shovels, winders and cranes, are just someexamples of rotating and reciprocating machinery that would clearlybenefit from a successful predictive maintenance strategy incorporatingadvanced vibration analysis techniques such as TSA and Order Tracking.

SUMMARY

[0007] According to a first aspect of the present invention, there isprovided a method for detecting vibration signatures in a reversibledrive, the method including the steps of:

[0008] acquiring digital data representative of vibrations in thereversible drive;

[0009] identifying portions of the data using a processor means; and

[0010] grouping together the identified portions of data in a pluralityof groups;

[0011] wherein each of the identified portions of data relate to travelin a particular direction of travel of the reversible drive and theplurality of groups relate to different directions of travel of thereversible drive.

[0012] According to a further aspect of the present invention, there isprovided a system for detecting vibration signatures in a reversibledrive, including:

[0013] transducer means for acquiring digital data representative ofvibrations in the reversible drive;

[0014] processor means for identifying portions of the data; and

[0015] processor means for grouping together the identified portions ofdata in a plurality of groups;

[0016] wherein each of the identified portions of data relate to travelin a particular direction of travel of the reversible drive and theplurality of groups relate to different directions of travel of thereversible drive.

[0017] According to a further aspect of the present invention, there isprovided a computer program product having a computer readable mediumhaving a computer program recorded therein for detecting vibrationsignatures in a reversible drive, including:

[0018] computer program code means for acquiring digital datarepresentative of vibrations in the reversible drive;

[0019] computer program code means for identifying portions of the data;and

[0020] computer program code means for grouping together the identifiedportions of data in a plurality of groups;

[0021] wherein each of the identified portions of data relate to travelin a particular direction of travel of the reversible drive and theplurality of groups relate to different directions of travel of thereversible drive.

[0022] According to an embodiment of the present invention, theidentified portions of data are representative of substantially constantspeed of operation of the reversible drive. The digital data may includedata sampled at either a fixed time interval sampling rate or a variablesampling rate synchronised to the speed of the drive. Data sampled at afixed time interval sampling rate can be resampled such that eachsuccessive sample of the resampled data corresponds to a successiveposition of the reversible drive and the distance between each of thesuccessive portions is a constant amount. The distance may be an angulardistance.

[0023] Preferably, each successive sample of each group of identifiedportions of data corresponds to a successive sample position of thereversible drive.

[0024] Preferably, at least one of the groups of identified portions ofdata are processed to produce data representative of one or morevibration signatures. The processing step may include one or more of thefollowing:

[0025] accumulating the average, in the time domain, of the datacomprising one of the groups;

[0026] accumulating the average, in the angle domain, of the datacomprising one of the groups;

[0027] accumulating the average, in the frequency domain, of the datacomprising one of the groups;

[0028] accumulating the average, in the orders domain, of the datacomprising one of the groups;

[0029] computing a time synchronised average time waveform of the datacomprising one of the groups;

[0030] computing a frequency spectrum of a time synchronised average ofthe data comprising one of the groups;

[0031] computing an order tracked frequency spectrum of the datacomprising one of the groups;

[0032] computing the kurtosis of an accumulated time domain average;

[0033] computing the kurtosis of an accumulated angle domain average;

[0034] computing the kurtosis of a time synchronised average timewaveform; and

[0035] computing a demodulated frequency spectrum of the data comprisingone of the groups.

[0036] According to a further aspect of the present invention, there isprovided a method for detecting vibration signatures in a rotatingand/or cyclic machinery, which method includes the steps of:

[0037] acquiring digital data representative of vibrations in themachinery, wherein the data includes data acquired at different speedsof the machinery;

[0038] identifying portions of the data relating to a predeterminedspeed and acceleration range of the machinery and for identifyingportions of the data outside the predetermined speed and accelerationrange, wherein a processor means is used for identifying the portions ofthe data; and

[0039] grouping together the identified portions of data relating to thepredetermined speed and acceleration range in a group relating to datain the predetermined speed and acceleration range, by appendingsuccessive portions to an accumulation of previous data portions alsorelating to the predetermined speed and acceleration range.

[0040] According to a further aspect of the present invention, there isprovided a system for detecting vibration signatures in a rotatingand/or cyclic machinery according to the method of claim 13, whichsystem includes:

[0041] transducer means for acquiring digital data representative ofvibrations in the machinery;

[0042] processor means for identifying portions of said data relating toa predetermined speed and acceleration range of the machinery and foridentifying portions of the data outside the predetermined speed andacceleration range; and

[0043] processor means for grouping together said identified portions ofdata relating to the predetermined speed and acceleration range in agroup relating to data in the predetermined speed and acceleration rangeby appending successive portions to an accumulation of previous dataportions also relating to the predetermined speed and accelerationrange.

[0044] According to a further aspect of the present invention, there isprovided a computer program product having a computer readable mediumhaving a computer program recorded therein for detecting vibrationsignatures in a rotating and/or cyclic machinery for use in the methodaccording to claim 13, wherein the computer program product includes:

[0045] computer program code means for acquiring digital datarepresentative of vibrations in the machinery;

[0046] computer program code means for identifying portions of said datarelating to a predetermined speed and acceleration range of themachinery and for identifying portions of the data outside thepredetermined speed and acceleration range; and

[0047] computer program code means for grouping together said identifiedportions of data relating to the predetermined speed and accelerationrange in a group relating to data in the predetermined speed andacceleration range by appending successive portions to an accumulationof previous data portions also relating to the predetermined speed andacceleration range.

DESCRIPTION OF THE DRAWINGS

[0048] Features and preferred embodiments of the present invention arehereinafter described with reference to the accompanying drawings, inwhich:

[0049]FIG. 1 is a flow diagram showing a method of vibration analysisfor application to a reversible drive;

[0050]FIG. 2 is a timing diagram showing determination of the directionof rotation and trigger point of a shaft of interest, according toembodiments of the invention;

[0051]FIG. 3 is a perspective view of a portion of a gear wheel showinggeneral deterioration of the teeth;

[0052]FIG. 4 is an enlarged perspective view of a tooth shown in FIG. 3;

[0053]FIG. 5 is a plot of a TSA time waveform for the gear wheel shownin FIG. 4, after 500 averages;

[0054]FIG. 6 is a perspective view of a portion of the gear wheel ofFIG. 3 showing deterioration of specific teeth;

[0055]FIG. 7 is a plot of a TSA frequency spectrum of the gear wheel ofFIG. 3, after 500 averages;

[0056]FIG. 8 is a plot of a TSA time waveform for a gear wheelexhibiting less deterioration than the gear wheel of FIG. 3, after 500averages;

[0057]FIG. 9 is a perspective view of a portion of the gear wheelrepresented in FIG. 8;

[0058]FIG. 10 is an enlarged perspective view of a specific tooth shownin FIG. 9;

[0059]FIG. 11 is an enlarged perspective view of another tooth of thegear wheel represented in FIG. 8;

[0060]FIG. 12 is a plot of a TSA frequency spectrum of the gear wheelrepresented in FIG. 8, after 500 averages;

[0061]FIG. 13 is a plot of a TSA time waveform for a gear wheel on theinput shaft of a friction winder after 500 averages, using data sampledfrom the output end of the input shaft;

[0062]FIG. 14 is a perspective view of a large indentation on a tooth ofthe gear wheel represented in FIG. 13;

[0063]FIG. 15 is an enlarged view of FIG. 14;

[0064]FIG. 16 is a plot of a TSA time waveform for the gear wheelrepresented in FIG. 13, after 500 averages, using data sampled from thedrive end of the input shaft;

[0065]FIG. 17 is a plot of an Orders Spectrum waveform for the gearwheel represented in FIG. 13, after 500 averages, using data sampledfrom the output end of the input shaft;

[0066]FIG. 18 is a plot of two superimposed TSA time waveforms, oneafter 4 averages and the other after 4000 averages;

[0067]FIG. 19 is plot of the correlation coefficient between the TSAafter 4000 averages and the TSA after the number of averages shown asthe x-axis;

[0068]FIG. 20 is a plot of two superimposed TSA time waveforms, oneafter 63 averages and the other after 4000 averages;

[0069]FIG. 21 is a plot of leakage value as a function of the number ofaverages, after application of a modified algorithm to determine theleakage values;

[0070]FIG. 22 is a plot of the mean difference in magnitude as afunction of the number of averages;

[0071]FIG. 23 is a plot of two superimposed TSA time waveforms, oneafter 100 averages and the other after 4000 averages;

[0072]FIG. 24 is a plot of two superimposed TSA time waveforms, oneafter 500 averages and the other after 4000 averages;

[0073]FIG. 25 is a block diagram of a computer system wherewithembodiments of the invention can be practiced;

[0074] FIGS. 26 to 30 are flow charts showing additional detail ofvarious steps in FIG. 1; and

[0075]FIGS. 31, 32 and 33 are a visual representation of softwareprogram code for tracking intermediate buried shafts.

DETAILED DESCRIPTION

[0076] A method, an apparatus and a computer program product forvibration analysis in machinery are disclosed hereinafter. Theprinciples of the method, apparatus and computer program product, inaccordance with embodiments of the invention, have general applicabilityto rotating and/or cyclic machinery that typically incorporatesreversible drives. However, it is not intended that the presentinvention be limited to the described method, apparatus and computerprogram product. For example, aspects of the invention have applicationto variable speed drives that have multiple settings of constant speedand to drives of varying speed wherein the analysis includes periods ofacceleration and deceleration of such drives. Aspects of the inventionalso have application to equipment that changes direction in a number ofdifferent orientations. For example, the equipment may move left, right,up, down, forwards and backwards. A reversible drive is defined as apiece of equipment that contains one or more elements that changedirection in either a linear, angular or rotational manner.

[0077] In a preferred embodiment of the system of the present invention,said identified portions of data are representative of substantiallyconstant speed of operation of said reversible drive.

[0078] In the system of the present invention, said digital datapreferably includes data sampled at a variable sampling ratesynchronised to the speed of said reversible drive.

[0079] In another embodiment of the system of the present invention,said digital data includes data sampled at a fixed time intervalsampling rate.

[0080] In a preferred embodiment of the system of the present invention,said system further includes processor means for resampling said digitaldata, wherein each successive sample of the resampled digital datacorresponds to a successive position of said reversible drive and thedistance between each of said successive positions is a constant amount.

[0081] Preferably, in the system of the present invention, eachsuccessive sample of each of said one or more groups of identifiedportions of data corresponds to a successive sample position of saidreversible drive.

[0082] In another preferred embodiment of the system of the presentinvention, said system further includes processor means for processingat least one of said groups of identified portions of data to producedata representative of one or more vibration signatures.

[0083] Said processor means includes one or more processor meansselected from the group consisting of:

[0084] processor means for accumulating the average, in the time domain,of the data comprising one of said groups;

[0085] processor means for accumulating the average, in the angledomain, of the data comprising one of said groups;

[0086] processor means for accumulating the average, in the frequencydomain, of the data comprising one of said groups;

[0087] processor means for accumulating the average, in the ordersdomain, of the data comprising one of said groups;

[0088] processor means for computing a time synchronised average timewaveform of the data comprising one of said groups;

[0089] processor means for computing a frequency spectrum of a timesynchronised average of the data comprising one of said groups;

[0090] processor means for computing an order tracked frequency spectrumof the data comprising one of said groups;

[0091] processor means for computing the kurtosis of an accumulated timedomain average;

[0092] processor means for computing the kurtosis of an accumulatedangle domain average;

[0093] processor means for computing the kurtosis of a time synchronisedaverage time waveform; and

[0094] processor means for computing a demodulated frequency spectrum ofthe data comprising one of said groups.

[0095] In one embodiment of the computer program product of the presentinvention, said identified portions of data are representative ofsubstantially constant speed of operation of said reversible drive.

[0096] In a further embodiment of the computer program product of thepresent invention, said digital data includes data sampled at a variablesampling rate synchronised to the speed of said reversible drive.

[0097] In another embodiment of the computer program product of thepresent invention, said digital data includes data sampled at a fixedtime interval sampling rate.

[0098] The computer program product of the present invention, mayfurther include computer program code means for resampling said digitaldata, wherein each successive sample of the resampled digital datacorresponds to a successive position of said reversible drive and thedistance between each of said successive positions is a constant amount.

[0099] In a further embodiment of the computer program product of thepresent invention, each successive sample of each of said one or moregroups of identified portions of data corresponds to a successive sampleposition of said reversible drive.

[0100] In another embodiment of the computer program product of thepresent invention, the computer program product further includescomputer program code means for processing at least one of said groupsof identified portions of data to produce data representative of one ormore vibration signatures.

[0101] Said computer program code means includes one or more computerprogram code means selected from the group consisting of:

[0102] computer program code means for accumulating the average, in thetime domain, of the data comprising one of said groups;

[0103] computer program code means for accumulating the average, in theangle domain, of the data comprising one of said groups;

[0104] computer program code means for accumulating the average, in thefrequency domain, of the data comprising one of said groups;

[0105] computer program code means for accumulating the average, in theorders domain, of the data comprising one of said groups;

[0106] computer program code means for computing a time synchronisedaverage time waveform of the data comprising one of said groups;

[0107] computer program code means for computing a frequency spectrum ofa time synchronised average of the data comprising one of said groups;

[0108] computer program code means for computing an order trackedfrequency spectrum of the data comprising one of said groups;

[0109] computer program code means for computing the kurtosis of anaccumulated time domain average;

[0110] computer program code means for computing the kurtosis of anaccumulated angle domain average;

[0111] computer program code means for computing the kurtosis of a timesynchronised average time waveform; and

[0112] computer program code means for computing a demodulated frequencyspectrum of the data comprising one of said groups.

[0113] Directional Normalisation

[0114] For the successful analysis of vibrations in reversible drives,it is advantageous that samples in the forward and reverse directionsare separated and processed individually. This is due to the existenceof differing speed and loading conditions in the forward and reversedirections. For the specific case of gears, different teeth faces are incontact when moving or rotating in different directions.

[0115] A fundamental limitation in vibration analysis of reversingdrives is the time available to collect data in a particular directionbefore the drive reverses. A solution that permits data acquisitionwhilst the equipment is in commercial operation is to separate thesamples collected into the forward and reverse directions and then grouptogether all the samples collected for each direction of travel. Thisprocess is referred to as “directional normalisation”. For the case ofequipment that changes direction in a number of different orientations,the data is direction normalised into each direction or orientationseparately.

[0116] Speed Variations and Fluctuation

[0117] It is also necessary to detect the rotational speed of the shaftof interest and normalise speed fluctuations. Minor speed fluctuationsare of minimal effect, provided that the data is sampled in ortransformed into the angle domain. TSA and Order Tracking require afixed number of samples per revolution, in the angle domain, so thateach sample corresponds to a specific position on the shaft. If theshaft rotational speed changes, and the data is collected in the timedomain, the frequency spectrum shows smeared spectral components,particularly for the higher shaft orders. On the other hand, a frequencyspectrum of data collected in the angle domain will maintain sharp peaksirrespective of fluctuations in speed. Smearing of spectral componentsoccurs because the data samples collected in the time domain do notcorrespond to a specific position on the shaft that is generating thevibration, but rather to a time from the beginning of the shaftrotation.

[0118] The foregoing description concerns TSA performed on rotatingmachinery by ensuring the data is sampled or transformed into the angledomain. This concept can equally be applied to equipment that moves inany other fashion. Essentially the data must be sampled or transformedinto the position domain, where the position relates to a physical pointin the cycle rather than a time from the beginning of the cycle. Forexample if a piece of equipment moves in a linear fashion it would beimportant that the data is either sampled or transformed into the lineardomain such that each sample relates to a specific distance from thebeginning of each cycle.

[0119] The effects of varying speeds of operation, as opposed to merespeed fluctuations, can be substantially eliminated by theidentification and use of constant speed portions of the data. It isparticularly beneficial in most cases to use constant speed data becausethe system dynamics remain the same at a particular speed. However, insome cases, it may be beneficial to analyse data collected duringperiods of acceleration and/or deceleration. This data can also be speednormalised and/or direction normalised and then processed by means ofvarious techniques.

[0120] Data Sampling and Resampling with Interpolation

[0121] Two methods of obtaining vibration signals in the angle domaininclude sampling the data in the angle domain directly, by means of aphase locked frequency multiplier, and resampling of vibration dataoriginally sampled in the time domain.

[0122] A phase locked frequency multiplier adjusts the samplingfrequency in sympathy with changes in the shaft rotational frequency andattempts to collect the same number of sample points for each revolutionof the shaft. The sampling frequency is effectively synchronised withthe frequency of the gear rotation to compensate for machine speedincreases or decreases. Thus, a sufficient number of equally spacedpulses, in the angle domain, can be generated for each revolution of thegear. The required sampling frequency is determined by the time betweenthe pulses. As the shaft speeds up, and the time between each pulsebecomes shorter, the sampling frequency increases at a suitable rate tomaintain the same number of data samples per revolution. The phaselocked technique can also be applied to situations where the shaft ofinterest can not be accessed but another shaft in the gear train can. Insuch a case, a suitable frequency multiplier is selected to produce apulse train corresponding to the shaft of interest. One potentialproblem with the phase locked technique is the difficulty of generatingmore than a few pulses per revolution on equipment in commercialoperation because of the shaft of interest not being easily accessibleand there being an insufficient number of revolutions of anappropriately accessible shaft. Thus, it is best to incorporate thedevice at the design stage. Furthermore, if changes in speed occur tooquickly, the phase detector may not be able to track the changes inshaft speed fast enough. The time lag that results when changes infrequency or phase occur creates errors that limit the accuracy of theaveraged time signal. Other potential disadvantages includesusceptibility to false triggering and a finite time necessary to lockon to the input signal that can often be too long. The result is thatonly a small proportion of a large number of samples can be used fortime synchronous averaging. This is further exacerbated for the case ofreversing machinery with a particularly short cycle time.

[0123] A simpler and more accurate method of allowing for variations inrotational speed is to digitally resample the data acquired at a fixedsampling rate so that each sample corresponds to a specific angularposition on the shaft of interest. This effectively results in avariable sampling rate that changes with changes in the rotational speedof the shaft to ensure a fixed number of sample points for eachrevolution of the shaft. An advantage is that this method does notrequire additional hardware apart from a standard data acquisitiondevice that samples at a constant rate and a digital computer to postprocess and resample the data. Resampling of the data can occur as datais acquired (i.e. online, with the use of buffering) or offline. Offlineresampling allows more time for filtering and processing to removeinterference and noise in the signal. An advantage of offline resamplingis that more recorded data can be processed and more revolutions can beused in the averaging process. The major advantage of this method is theease with which the pulse sequence can be manipulated to perform anaverage on a hidden shaft. Simple linear interpolation can be applied todetermine the new arrival times of the pulse train as opposed to complexloop filters required for the phase locked loop frequency multiplier.

[0124] It is imperative that the spectral characteristics, whichdescribe the dynamic nature of the signal, are preserved in theconversion from the time domain to the angle domain. This can beachieved by using linear interpolation to determine the desired timefrom the reference pulse to each desired sample, which is a suitablemethod, provided the function being interpolated is highly band limited.Together with the desired resample times (corresponding to specificangle positions), interpolation techniques are used to resample thevibration data. There are a number of different interpolation techniquesthat can be applied. Increasing the order of interpolation decreases theamplitude of side lobes, thus producing a better stop band performance,a flatter pass band, and a sharper cut off rate. The cubic functionprovides a good frequency response, although the higher order increasescomputation times.

[0125] Signal Processing

[0126] A number of different known signal processing techniques can beapplied to the vibration signal(s) after they have been directionallynormalised and/or speed normalised. Time synchronous averaging (TSA),Order Tracking and Demodulation are some of the techniques applied tothe directionally normalised data. It will be apparent to those skilledin the art that variations to the processing of appended or groupeddirectionally normalised data can be made without departing from thescope and spirit of the invention. In particular any known signalprocessing techniques may be used in conjunction with or in addition tothose described herein.

[0127] Time Synchronous Averaging (TSA)

[0128] Time Synchronous Averaging produces a cumulative average of asignal in the angle domain. The technique can also be applied to producea cumulative average of a signal in either the time domain or theposition domain. It is preferable to sample or resample the signal inthe position domain (angle domain for rotating shafts) to ensure thateach sample relates to a specific location in the cycle rather than aset time from the beginning of the cycle. If the data is sampled in thetime domain and the speed of the drive fluctuates, smearing of thefrequency spectrum will occur. However, if the data is sampled orresampled into the position domain, the smearing of the frequencyspectrum will be minimised, if not eliminated. TSA requires a referencetrigger that is synchronous with the particular cycle being analysed todetermine the beginning of each sampling window. The reference triggermay be a single trigger relating to the beginning of every cycle or amultitude of triggers, each relating to a specific position in thecycle. In vibration analysis, TSA enhances the synchronous vibrationcomponents, whilst the non-synchronous components and noise aresubstantially reduced. Isolation of a specific machine component such asan individual roll on a paper machine or a specific shaft in a complexgearbox is thus possible and the effects of external excitation such asforcing frequencies from adjacent machines are minimised. As aconsequence, TSA has proved to be successful for detection of repetitiveshaft synchronous faults such as shaft cracks, misalignment, unbalanceand tooth damage. However, when conducted over one revolution of ashaft, TSA averages out most frequencies associated with bearing faultsdue to the fact that such faults are not synchronous with the shaftrotation. By comparison, Order Tracking does not remove non-synchronousfrequencies and will therefore show bearing faults.

[0129] In TSA, uniformly distributed wear (i.e. where the tooth profileremains unmodified) only increases the tooth-meshing frequency, and itsharmonics, and does not give rise to side bands. Non-uniformlydistributed faults will give rise to components at other frequencies,including low harmonics caused by periodically repeated impulses, andside bands that in turn cause amplitude and frequency modulation tooccur. Furthermore, TSA may produce a ‘ghost frequency’, which isessentially a clean line that appears in the frequency domain afterperforming a Fast Fourier Transform (FFT) on the time domain data anddoes not correspond to any known components of the shaft. The ‘ghostfrequency’ is believed to be due to the type of cutter used in themanufacture of gears.

[0130] When conducting TSA with an averaging window of one revolution,the frequency spacing between the lines of the spectrum is always therotational frequency of the shaft, or one order. Thus, the resolution ofthe spectrum can not be improved by increasing the sample rate—this willonly improve the maximum order that can be represented. If a higherresolution is required, the average should be conducted over morerevolutions. For example, if a two-revolution window is used for theaverage, the frequency spacing in the spectrum will be half an order.

[0131] Order Tracking

[0132] Order Tracking is similar to TSA in that a frequency responseanalysis of data in the angle domain is involved. However, OrderTracking differs from TSA in that signal averaging occurs in thefrequency or orders domain, after transformation of the data by means ofan FFT, rather than in the time or angle domain. Order Tracking isdifferent to Order Normalisation in that the analysis is conducted inthe angle domain, rather than in the time domain. Order Tracking cansuccessfully detect a multitude of problems, including lubricationproblems, unbalance, misalignment and bearing faults. Essentially, OrderTracking can be used in the same way as standard frequency analysis ondata collected in the time domain. The main advantages of Order Trackingare that it allows for speed fluctuations and that vibrations are alwaysreported relative to the shaft rotational speed.

[0133] In an orders spectrum, orders or harmonic components remain fixedin position despite speed changes or fluctuations. This constitutes aclear advantage when comparing the characteristics of variable speedmachines over a period of time. The disadvantage of an orders spectrumis that fixed frequency components can move, thus making it difficult torecognise speed dependent amplitude changes. In particular, as resonanceis directly related to shaft speed, the resulting amplitudes will remainfixed in the time domain but not in the angle domain. These frequenciesmove when plotted on an orders spectrum, whereas, if plotted on afrequency spectrum their position would remain fixed. This is especiallyobvious in an orders waterfall display.

[0134] Demodulation

[0135] Modulation is the variation in the value of a parameter whichcharacterises a periodic oscillation. Thus, amplitude modulation of asinusoidal oscillation is a variation in the amplitude of the sinusoidaloscillation. Phase modulation of a sinusoidal oscillation is a variationin the phase of the sinusoidal oscillation. Amplitude and phasemodulation occur in vibration signals from most equipment.

[0136] Demodulation is the process of extracting the original modulatingsignal(s). Consequently, demodulation is necessarily incorporated in theprocessing of the appended data.

[0137] Typically, in vibration analysis, demodulation is used to-predictincipient failure in bearings and gears. The most common techniquesincorporate band pass filtering and enveloping to assist in thedetection of such faults.

[0138] The Kurtosis

[0139] Calculation of the Kurtosis, otherwise known as the normalisedfourth statistical moment, is a useful analysis technique fordetermination of the condition of a gearbox. The Kurtosis, K, may becalculated using the following formula:$K = \frac{\left\lbrack {\sum\left( {X_{i} - M} \right)^{4}} \right\rbrack}{{NS}^{4}}$

[0140] where: N=number of samples

[0141] M=mean value

[0142] S=standard deviation

[0143] X_(i)=i^(th) sample

[0144] The Kurtosis is larger for cases where single large peaks exist,as opposed to a normal gaussian distribution for which a kurtosis ofthree can be expected. Thus, the Kurtosis can be used as an indicationof the extent to which large peaks dominate the time waveform. Theactual value should be monitored and compared to the value calculatedwhen the gearbox was new or at least in good condition.

[0145] Use of the Kurtosis to detect a fatigue crack in a gearbox hasbeen successfully demonstrated. The Kurtosis was calculated afterenhancement of the TSA time waveform by band pass filtering around thedominant gear mesh harmonic and subsequent removal of the meshingharmonic. The resulting time waveform had a distinct peak at thelocation of the fatigue crack and the Kurtosis value rose from three toaround seven.

GENERAL EMBODIMENT

[0146]FIG. 1 is a flow diagram of a general method of vibration analysisfor application to a reversible drive.

[0147] Vibration data from a transducer, such as an accelerometer, andshaft speed, direction and position data from one or more transducers,such as a tachometer, are acquired at step 110.

[0148] At step 120, a data processing trigger is extracted from theacquired data. The trigger relates to a reference point on the shaft ofinterest and facilitates further data processing. Specifically, thetrigger facilitates identification of portions of the data relating toeach direction of travel of the shaft of interest and identification ofconstant speed data. Determination of the trigger and direction ofrotation of the shaft of interest are further described later in thisdocument.

[0149] At step 130, the data is speed normalised. This includesresampling of the data for transformation from the time domain into theangle domain. At the same time, samples relating to periods ofacceleration and deceleration are identified and eliminated from thedata. Both resampling and determination of constant speed data arefurther described later in this document.

[0150] Steps 142, 144 and 146 constitute the process of directionnormalisation. At step 142, portions of the speed normalised data in theangle domain, relating to the forward and reverse directions, areidentified. Then, at step 144, successive portions of data relating tothe forward direction are grouped together by appending successiveportions to an accumulation of previous data portions also relating tothe forward direction. Similarly, at step 146, successive portions ofdata relating to the reverse direction are grouped together by appendingsuccessive portions to an accumulation of previous data portions alsorelating to the reverse direction. The portions of data are grouped insuch a way that the first sample of each successive portion appendedcorresponds to the position of the reversible drive immediatelyfollowing the position of the reversible drive corresponding to the lastsample of the data portion last appended.

[0151] At steps 154 and 156, the data grouped in the forward and reversedirections, respectively, undergoes signal conditioning. Signalconditioning of the data is performed to eliminate the effects ofaliasing and spectral leakage. During resampling, the number of samplesis increased relative to the number of original samples (i.e. upsamplingusing cubic interpolation). A digital low-pass filter is thus applied tothe data to remove any frequencies above those that can be accuratelyrepresented by data sampled at the original sampling rate, in accordancewith the Nyquist criterion. However, aliasing errors due to resamplingwill be attenuated by the time synchronous averaging process. Theresampled waveform is filtered by a low pass 9^(th) order Butterworthfilter to remove frequencies above half the original sampling frequency,thus avoiding errors due to aliasing.

[0152] Leakage occurs when performing a Fast Fourier Transform (FFT) andis due to the fact that the data is sampled over a finite time periodand the frequency components are cut in mid-cycle. Leakage is reduced bythe technique known as windowing the signal. Windows used includeHanning, Hamming, seven Term B-Harris, four Term B-Harris, Flat Top,Blackman, Exact Blackman and Blackman-Harris.

[0153] At steps 164 and 166, the data accumulated in the respectivedirections undergoes signal processing. The signal processing typicallycomprises standard vibration analysis techniques. One technique ofanalysis involves averaging the filtered time waveform in the timedomain to produce a Time Synchronised Average. Then, an orders FFT iscomputed on the digital TSA time waveform, thus identifying the spectrumof frequencies that are integer multiples of shaft rotation frequency.The Kurtosis can also be computed, using the data of the digital TSAtime waveform.

[0154] Another technique of analysis involves use of the resampled datato produce an Order Tracked spectrum that is averaged in the frequencydomain. This requires transformation of the data to the frequencydomain, by means of an FFT, prior to signal averaging.

[0155] At steps 174 and 176, the data processed in the forward andreverse directions, respectively, is output to a display monitor orprinter for human visual analysis. The interpretation of vibrationsignals is a highly skilled art that requires extensive machineryknowledge and a detailed understanding of mechanical vibrations. Certainknown correlations can be applied to predict incipient failures. Forexample, a specific type of fault condition may be identifiable by aspecific vibration signature. Furthermore, the extent of existing damagemay be related to the magnitude of one or more specific frequencycomponents.

[0156] However, it will be apparent to those skilled in the art thatvariations to the manner of output of the processed data can be madewithout departing from the scope and spirit of the invention. Forexample, the processed data may undergo further processing to facilitateclassification of predefined fault conditions by machine-basedcorrelation of acquired vibration signatures with stored vibrationsignatures, where characteristics of the stored signatures arerepresentative of specific fault conditions.

[0157] The further processed data can be used to provide alarm levels bymeans of visual and/or audible indicators. The alarm levels can becategorised into warning, danger and shutdown categories. The shutdowncategory may be the level at which the machine is automatically shutdownto avoid catastrophic failure.

[0158] Direction and Trigger Determination

[0159]FIG. 2 shows determination of the direction of rotation andtrigger point of a reference shaft. Two laser tachometers are used togenerate a square pulse once every revolution by detection of a key way,a marking, or a piece of reflective tape on the reference shaft. The twolaser tachometers are offset from each other by an angle ofapproximately 60 degrees. The specific angle is not critical, however,the offset must be sufficient to eliminate false triggering due toreflections from the other laser but less than 180 degrees. The lasertachometers are each connected to separate channels on a dataacquisition card in a personal computer (PC) and sampled simultaneouslywith the vibration information. As the shaft rotates in the reversedirection the first laser (laser A) detects the reflective tape, andgenerates a square pulse. As the shaft continues to rotate, the secondlaser (laser B) detects the reflective tape and generates a squarepulse.

[0160] A software program is used to calculate the arrival times of eachpulse by locating the leading edge (positive slope) of each pulse.Linear interpolation is used to more accurately determine the arrivaltimes. The time between a pulse from laser A and a successive pulse fromlaser B (dt) is determined by the difference between the arrival timesof those pulses. However, when a change in direction occurs a pulse fromlaser A will be followed by another pulse from laser A before a pulsefrom laser B occurs. Thus, a valid time between two consecutive pulsesmust always correspond to dt as opposed to dy or dx. In other words thetime being compared must be less than half the rotational speed of thereference shaft, hence dt<dT/2. After determining that the correct dt isbeing used the direction is determined by the sign of dt. If dt isnegative, rotation of the shaft is in one direction and if dt ispositive, rotation of the shaft is in the opposite direction.

[0161] The software program mechanism used to determine dt, rather thendx or dy is a set of “if” statements that find each case where dt<dT/2.The arrival times are evaluated in a logical sequence to ensure thecorrect pulse arrival time is found in as short a time as possible. Therelative position of a pulse from laser B will only change if there is achange in direction where the shaft stops between the two pulses. Inorder to avoid the search for the reference position for every segmentof constant speed, the software program remembers the position for thenext comparison.

[0162] It is important to note that the first laser (laser A) is used todetermine the beginning and end of each revolution. The software programuses this information to convert the vibration data from the time domainto the angle domain. It is critical this pulse is accurate andrepeatable, as the angle domain data resampled from each revolution mustcorrespond to the exact same position on the shaft. The second laser(laser B) is only used to determine direction and has nothing to do withresampling of the data.

[0163] If the shaft of interest is buried in a gearbox, a determinationof the shaft arrival time is more difficult. The arrival times of theburied shaft are calculated using the first reference pulse to indicatethe beginning of the revolution. The gear ratio is then used todetermine exactly how many revolutions of the reference shaft relates toone revolution of the shaft of interest. This ratio is used with thereference shaft arrival times to linearly interpolate the arrival timesof the shaft of interest. In cases where the reference shaft changesdirection more than once, it is important to track the relative positionof the buried shaft and ensure the first sample always corresponds tothe same position on the buried shaft.

[0164] The foregoing method of determining arrival times of a buriedshaft can be applied to perform TSA on any component that has arotational speed, which is either a fraction of rotational speed, aninteger multiple of rotational speed or a non-integer multiple ofrotational speed. A good example of where this may be applied is to abearing cage rotation. The rotational speed of the cage can be directlyrelated to the rotational speed of the reference shaft, therefore a TSAcould be performed on the bearing cage provided limit slip occursbetween the balls and the races.

[0165] Constant Speed Determination

[0166] The software program compares each revolution time (dT) toidentify data portions of constant speed. If the revolution time dTn,for a particular revolution n, is within a certain percentage of therevolution time dT_(n-1) of the previous revolution n−1, the speed isdetermined to be constant. The time for each successive revolution iscompared with that of the previous revolution until the percentagevariation is greater than a certain threshold. This threshold can be setin the software program and typically has a default of 1%. A minimum ofthree consecutive constant speed revolutions are required forresampling. Thus, in the absence of three consecutive revolutions ofconstant speed, the relevant samples are discarded and the programadvances to the next arrival time. This process is repeated until allthe arrival times of constant speed revolutions are determined.

[0167] Resampling

[0168] Samples of vibration data collected over each revolution, foreach constant speed portion with a fixed sample rate, are resampled toprovide a fixed number of samples per revolution. The minimum number ofsamples per revolution to avoid aliasing is the quotient of originalsampling rate (H_(z)) and the minimum shaft speed (H_(z)). Afterresampling of each constant speed portion, using cubic interpolation,all the portions relating to each particular direction of travel of thedrive are appended together. This results in a continuous set of samplesin respect of each direction of travel, with a fixed number of samplesper revolution. The total number of samples in each direction of travelis the number of samples per revolution multiplied by the number ofrevolutions of constant speed identified in each respective direction.These samples sets are treated as continuous data that can be processedusing various vibration analysis techniques.

[0169] Software Implementation

[0170] The software program was developed in the Matlab and Labviewenvironments. Labview was primarily used to interface the Matlab scriptfiles with the data acquisition card used in the Personal Computer (PC).

[0171] Tables 1 to 7 at the end of the Detailed Description containMatlab script files used to practice embodiments of the invention:

[0172] Table 1: Arrival Times Script 1 (main program)

[0173] Table 2: Arrival Times. Script 2 (function used in Arrival TimesScript 1)

[0174] Table 3: Shaft of Interest Arrive Time Script

[0175] Table 4: Resampling vibration data into forward and reversedirections script

[0176] Table 5: Pulse reference check script (direction determination)

[0177] Table 6: Resampling script (including interpolation)

[0178] Table 7: Kurtosis Calculation Script

Further Detail Relating to the General Embodiment

[0179] FIGS. 26 to 30 provide additional detail relating to certain ofthe steps in FIG. 1.

[0180] The data is acquired in blocks, the size of which are selected toensure that data relating to at least two complete revolutions arecaptured in each block. An SD-Section is a section of data that iscontinuous in the time domain and which relates to a specific speed andacceleration range and direction. The following variables are defined:

[0181] N=the number of channels,

[0182] K=the data acquisition block number,

[0183] L=the SD-section number,

[0184] R_(K)=the number of revolutions in the K^(th) block,

[0185] Revs=the number of revolutions in each direction to collect, and

[0186] Z=the number of points per revolution to resample (this value isdetermined based on the sampling rate, the rotational speed of the shaftand the desired up sampling ratio).

[0187] S_(x)=shaft number x

[0188]FIG. 26 shows additional detail relating to steps 110 and 120 ofFIG. 1, which relate to acquisition of the vibration data and theextraction of data processing triggers. Specifically, steps 101-104, 105and 119 of FIG. 26 relate to step 110 of FIG. 1 and steps 201-204 ofFIG. 26 relate to step 120 of FIG. 1.

[0189] At step 100, the following variables are each initialised tozero:

[0190] the data acquisition block number (K),

[0191] the SD-Section number (L),

[0192] the total number of revolutions in each required direction(R_(FWD), R_(REV)), and

[0193] the number of useable revolutions for each direction of eachshaft (Act_Revs_(SxDFWD), Act_Revs_(SxDREV)).

[0194] If a direction is not initialised, the SD-Sections for thatdirection will not be collected.

[0195] The reference trigger data is collected at step 101 and thedirectional trigger data is collected at step 102. The actual vibrationdata for channels 1, 2 and N are acquired at steps 103, 104 and 119,respectively. The number of channels for acquiring actual vibration datais typically limited by the data acquisition hardware or the dataprocessing requirements. Steps 101 to 104 and 119 typically occursimultaneously due to parallel implementation in of the samplinghardware for each channel.

[0196] At step 105, the data acquisition block number is incremented forcollecting a subsequent set of samples at steps 101 to 104 and step 119.

[0197] At steps 201 and 203, the K^(th) block of data is read for thereference and directional triggers, respectively.

[0198] At steps 202 and 204, the tachometer arrival times A_(1k)(t) andA_(2k)(t), for tachometers 1 and 2, respectively, are computed for theK^(th) block of data. These values are used to determine the speed,acceleration and direction for each revolution. Processing continues atstep 501 of FIG. 28 after step 204 of FIG. 26, at step 350 of FIG. 29after step 307 of FIG. 27, and at step 301 of FIG. 27 after step 202 ofFIG. 26.

[0199]FIGS. 27 and 28 and steps 361, 371, 381, 362, 372 and 382 of FIG.29 show additional detail relating to steps 142 and 130 of FIG. 1,respectively, which relate to speed normalisation of the vibration data.To some extent, certain of the steps in FIGS. 27 and 28 occursimultaneously.

[0200] Referring firstly to FIG. 28, the trigger information isinterpreted to determine the direction of the revolutions that occurduring the K^(th) block, at step 501. Step 501 follows on from step 204of FIG. 26.

[0201] Then, at step 502 the total number of revolutions in the K^(th)block (R_(k)) is calculated. This value is used to track the totalnumber of revolutions in each direction and provides information that isrequired to determine the relative position of any hidden shafts.

[0202] If the revolutions in the K^(th) block are in the forwarddirection, at decision step 510, the number of revolutions in theforward direction is incremented by the number of revolutions in thecurrent block, at step 511. Alternatively, if the revolutions in theK^(th) block are in the reverse direction, at decision step 510, thenumber of revolutions in the reverse direction is incremented by thenumber of revolutions in the current block, at step 513. For bothforegoing cases, processing continues at step 302 of FIG. 27.Determination of the trigger and direction of rotation of the shafts ofinterest are further described elsewhere in this document.

[0203] Referring now to FIG. 27, the trigger information is interpretedto determine the speed and acceleration of the revolutions that occurduring the K^(th) block, at step 301. Step 301 follows on from step 202of FIG. 26.

[0204] The speed, acceleration and directional information are analysedat step 302. If the current direction is not required and/or the speedand acceleration values are not within the desired range (NO), atdecision step 302, the K^(th) block for each channel is deleted frommemory at step 309. Then, the data acquisition block number (K) isincremented at step 310. Processing subsequently continues at steps 201and 203, of FIG. 26, for processing of the next block (K+1).

[0205] The first time that the data collected falls within the specifiedspeed and acceleration range and is in a direction that is required(YES), at decision step 302, the data is stored in memory. Everysubsequent block of data that is adjacent in the time domain to theprevious block of data within the desired speed, acceleration anddirection parameters will be appended to the end of the previous blockat step 304.

[0206] This process results in a continuous segment of data (in the timedomain) that is within the acceleration, speed and directionalrequirements. This segment is referred to as an SD-Section (Speed &Direction Section). When the consecutive blocks no longer have the samedirection and/or no longer fall within the same speed and accelerationconditions a new SD-Section is started. This process is controlled bysteps 303, 307 and 308.

[0207] Step 303 checks whether the previous valid block was adjacent (inthe time domain) to the current block. If not, the previous SD-Sectionis exported at step 307 to step 350 in FIG. 29 for additionalprocessing. Thereafter, the SD-Section number (L) is incremented at step308 and continues at step 304.

[0208] After each block is appended to the current SD-Section at step304, the number of useable revolutions of each shaft is computed at step305. The number of useable revolutions of the hidden shafts is computedusing an algorithm that tracks the shafts relative position anddetermines the number of complete and continuous revolutions of thehidden shaft.

[0209] At step 306 the actual number of revolutions of each shaft ineach direction is tested. If the number of lo revolutions in the currentdirection exceeds the total number required for that direction (YES),the direction parameter will be changed at step 312 to “no longerrequired”. This signifies to the control program not to process any moredata in the particular direction as sufficient revolutions have beencollected.

[0210] Next, at step 311, it is determined whether sufficientrevolutions for each direction and each shaft been been collected. IfYES, the process stops collecting data at step 313 and moves on to step650 of FIG. 30, where the program waits for all the SD-Sections to beresampled and appended to the appropriate SDNU (Speed DirectionNormalised Unit). If NO, additional revolutions are still to becollected and the block number (K) is incremented at step 310.Processing then continues at steps 201 and 203, of FIG. 26, in respectof the next block.

[0211]FIG. 29 shows additional detail relating to step 307 of FIG. 27,which relates to processing of the data of a previous SD-Section whiledata of a current SD Section is collected.

[0212] At step 350, the arrival times (ie. the times at which a shaftpasses the shaft's original trigger point) are computed for each of theshafts.

[0213] At steps 361, 371 and 381 the current SD-Section data for eachrespective channel is recalled from memory. Then, at steps 362, 372 and382, the SD-Section data for each respective channel is resampled intothe angle domain. The resampling process is further discussed elsewherein this document.

[0214] At steps 363, 373 and 383, the time domain SD-Section data foreach respective channel is deleted from memory, leaving only theresampled angle domain SD-Section data in memory.

[0215] Steps 142, 144 and 146 of FIG. 1, steps 501 to 513 of FIG. 28 andsteps 600, 610 and 620 of FIG. 29 constitute the process of DirectionNormalisation. The direction of the data in the current SD-Section wasidentified at steps 501 to 513 of FIG. 28.

[0216] Returning now to FIG. 29, the successive portions of datarelating to the same direction are grouped together by appendingsuccessive portions to an accumulation of previous data portions alsorelating to that direction, at steps 600, 610 and 620. The data in thisformat is referred to as a Speed Direction Normalised Unit (SDNU).

[0217] Similarly, when an SD-Section has a different direction (ie.forward in the first case and reverse in the second case), as shown inFIG. 1 as steps 144 and 146, the successive portions of data relating tothat direction are grouped together by appending successive portions toan accumulation of previous data portions also relating to thatdirection.

[0218] A SDNU will exist for every channel and every direction availablefor that channel. The portions of data are grouped in such a way thatthe first sample of each successive portion appended corresponds to theposition of the reversible drive immediately following the position ofthe reversible drive corresponding to the last sample of the dataportion last appended.

[0219] The synchronous components of each SDNU are continuous becauseeach SD-Section is continuous in both the angle and time domains andwhen each SD-Section is appended to form an SDNU, the angle domaincontinuity (ie. synchronous components) is maintained. As explainedelsewhere in this document, such continuity is imperative for theprocess of time synchronous averaging.

[0220] The appending of SD-Sections to create an SDNU does, however,cause discontinuities in any non-synchronous components. Thesediscontinuities occur at the point where two SD-Sections are appendedand occur as a result of non-synchronous components not repeating overeach revolution. Hence, the phase of these non-synchronous componentswill change when a break in the time domain data collection processoccurs (ie. when SD-Sections are appended).

[0221] If all the components of the signal are not continuous, the ordertracking or demodulation process may result in spurious components inthe FFT spectrum. This is due to the fact that the FFT process assumes asignal to be continuous over the period of the signal analysed.

[0222] At steps 601, 611 and 621 the length of the current SD-Section iswritten to the header of that SD-Section. This information is used totrack the location of any discontinuities and can either be used toavoid discontinuities when processing the SDNU's, smooth thediscontinuities, remove the discontinuities, or understand the effect ofthe discontinuity on the FFT. Subsequent processing continues at step308 of FIG. 27.

[0223] Referring now to FIG. 30, the program waits for all revolutionsin every required direction on every shaft to be collected & resampledinto the angle domain, at step 650. This program step is subsequent tostep 314 of FIG. 27. When all the data is available, signal conditioningoccurs on every SDNU at steps 800 and 850 for the respective directions.Signal conditioning of the data is performed to eliminate the effects ofaliasing and spectral leakage. During resampling, the number of samplesis increased relative to the number of original samples (ie. upsamplingusing cubic interpolation). A digital low-pass filter is thus applied tothe data to remove any frequencies above those that can be accuratelyrepresented by data sampled at the original sampling rate in accordancewith the Nyquist criterion. However, aliasing errors due to resamplingwill be attenuated by the time synchronous averaging process. Theresampled waveform is filtered by a low pass 9^(th) order Butterworthfilter to remove frequencies above half the original sampling frequency,thus avoiding errors due to aliasing.

[0224] Leakage occurs when performing a Fast Fourier Transform (FFT) andis due to the fact that the data is sampled over a finite time periodand the frequency components are cut in mid-cycle. Leakage is reduced bythe technique known as windowing the signal. Windows used includeHanning, Hamming, seven Term B-Harris, four Term B-Harris, Flat Top,Blackman, Exact Blackman and Blackman-Harris.

[0225] At steps 900 and 950 of FIG. 30 and steps 164 and 166 of FIG. 1,the data accumulated in the respective directions undergoes signalprocessing. The signal processing is typically comprised of standardvibration analysis techniques. One technique of analysis involvesaveraging the filtered time waveform in the time domain to produce aTime Synchronised Average. Then, an orders FFT is computed on thedigital TSA time waveform, thus identifying the spectrum of frequenciesthat are integer multiples of shaft rotation frequency. The Kurtosis canalso be computed, using the data of the digital TSA time waveform.

[0226] Another technique of analysis involves use of the resampled datato produce an Order Tracked spectrum that is averaged in the frequencydomain. This requires transformation of the data to the frequencydomain, by means of an FFT, prior to signal averaging.

[0227] At steps 1000 and 1050 of FIG. 30 and steps 174 and 176 of FIG.1, the data processed in the forward and reverse directions,respectively, is output to a display monitor or printer for human visualanalysis. The interpretation of vibration signals is a highly skilledart that requires extensive machinery knowledge and a detailedunderstanding of mechanical vibrations. Certain known correlations canbe applied to predict incipient failures. For example, a specific typeof fault condition may be identifiable by a specific vibrationsignature. Furthermore, the extent of existing damage may be related tothe magnitude of one or more specific frequency components.

[0228] However, it will be apparent to those skilled in the art thatvariations to the manner of output of the processed data can be madewithout departing from the scope and spirit of the invention. Forexample, the processed data may undergo further processing to; smoothany discontinuities within SDNUs, remove discontinuities within SDNUs,or to facilitate classification of predefined fault conditions bymachine-based correlation of acquired vibration signatures with storedvibration signatures, where characteristics of the stored signatures arerepresentative of specific fault conditions.

[0229] The further processed data can be used to provide alarm levels bymeans of visual and/or audible indicators. The alarm levels can becategorised into warning, danger and shutdown categories. The shutdowncategory may be the level at which the machine is automatically shutdownto avoid catastrophic failure.

[0230] Shaft Tracking

[0231]FIGS. 31, 32 and 33 show software program code for tracking theposition of any intermediate shafts that may be buried in a gearbox bytracking the number of forward and reverse rotations of a referenceshaft. The program code is written in Labviewl, which is a graphicalprogramming language developed by National Instruments. The term “buriedshaft” refers to a shaft that cannot be externally accessed forgeneration of a trigger. This program code is thus only necessary incases where the shaft of interest is a buried shaft. In cases where thetrigger can be directly derived from the shaft of interest, there is noneed to track the relative shaft position as the trigger pulse indicatesthe zero degree position of the shaft of interest.

[0232] The zero degree position of the buried shaft is the point atwhich the reference shaft is at its zero degree position for the firsttime in the data acquisition window. The zero degree position of theburied shaft will not always occur when the reference shaft is at itszero degree position because the buried shaft rotates at a differentspeed to the reference shaft, and it is for this reason that it isimperative that the number of forward and reverse rotations of thereference shaft are tracked to determine the nett position of the buriedshaft. The nett position of the buried shaft references where the zerodegree location of the buried shaft occurs in relation to the referenceshaft. Tracking of the zero degree position of the buried shaft ensuresthat, in cases where the shaft changes direction more than once, thefirst sample after resampling into angle domain will always correspondto the same position of the buried shaft.

[0233] The inputs to this portion of program code are the arrtime array,the Nett Revolutions at end of First Valid Cycle, the Speed Ratio andthe Directionality. The arrtime array is an array of arrival times forthe reference shaft (trigger shaft) that relate to the zero degreeposition of the reference shaft in the SD_Section. As stated elsewherein this document the SD_Section is a section of vibration data that iscollected under specific desirable speed, acceleration and directionconditions. The variable Nett Revolutions at end of First Valid Cyclerepresents the nett revolutions that the reference shaft (trigger shaft)has undergone from the beginning of the entire data acquisition process.This includes the first cycle in the current SD_Section (ie. the cyclefrom the first arrival time to the second arrival time). The Speed Ratiois the ratio of the buried shaft speed to the reference shaft speed(Buried Shaft Speed/Reference Shaft Speed). The directionality input isa boolean control variable that states the direction of rotation of theSD_Section: True for Forward and False for Reverse.

[0234] Referring to FIG. 31, the directionality of the currentSD_Section is read and interpreted at step 110. If the current directionis forward (True), case 110 outputs a value 1 and if reverse, case 110outputs a is value of −1. The output value is used at step 120 to set upan array of indexes that relate the arrival times (arrtime) to theposition of the buried shaft. This is achieved by multiplying therelative rotation position of the reference shaft by the Speed Ratio.The indices that relate the arrival times to the relative position ofthe buried shaft are then sent to steps 150 and 130.

[0235] The code between steps 120 and 130 (comprising steps 121 to 123)essentially extracts the maximum and minimum values in the array. Thesemaximum and minimum values are then used at step 130 to determine thebeginning and end of the SD_Section. Whether the maximum value is thebeginning or the end of SD_Section depends on the directionality of thecurrent SD_Section. If the direction is forward, case 130 is true andcase 131 is processed to determine if the reference to the firstrevolution should be incremented by 1 or not. If the remainder of thedivision at step 123 is zero then the first value will not need to beincremented at step 131, however, if the remainder of the division atstep 123 is not zero then the first value will need to be incremented by1 at step 131. This is due to the fact that the result of the integerquotient at step 123 is 1 below the first complete revolution of theburied shaft, in the case. A similar process is followed at step 130 ifthe directionality of the current SD_Section is reverse.

[0236] The output from step 130 is a start and end integer that is usedin step 140 to generate an array of integers that relate to the zerodegree position of the buried shaft. These values are used tointerpolate the results of step 160 and to find the arrival times of thezero degree position of the buried shaft.

[0237] At case 160, the cluster containing the arrival times and theindex of relative positions of the buried shaft will be reversed if thedirection of the current SD_Section is reverse. If the direction of thecurrent SD_Section is forward then there is no need to reverse thecluster as the relative positions of the buried shaft are already inascending order.

[0238] The final step in the program is to interpolate the arrival timesand relative positions of the buried shaft to determine the times atwhich the buried shaft is at a zero degree position. The buried shaftarrival times are referred to in the program code as the shaft ofinterest arrival times (shoiarrtime) and are later used in conjunctionwith the vibration data sampling times to resample the vibration datainto the angle domain where the angle domain for these cases relates tothe buried shaft (ie. 0 to 360 degrees of the buried shaft).

Harrison Lathe Example

[0239] TSA was performed on a 30-year-old Harrison lathe, using anembodiment of the invention, to demonstrate the effect of minor faultson the time waveform and frequency spectrum.

[0240] The gearbox of the lathe includes a drive shaft, an intermediateshaft and an output shaft with three gears thereon. The first analysisis of the reverse direction side of gear 2, which is located on theoutput shaft and has 49 teeth. Gear 2 is the output gear for the mostcommon machining speed in the gearbox and therefore represents the mostwell used gear in the gearbox..

[0241]FIGS. 3 and 4 show a typical tooth profile of gear 2. FIG. 4 showsan enlarged view of a gear tooth 310, shown in FIG. 3. The whole gearshows zones of localised adhesion, abrasive wear and polishing. Zones oflocalised adhesion 410 and 420 are shown in FIG. 4. It is most likelythat adhesion occurred first, resulting in fine particles being removedfrom the surface of the teeth that have caused subsequent abrasive wearand polishing. The tooth also shows signs of moderate plastic metal flow430 in FIG. 4.

[0242] Deviations from a perfect tooth profile result in smeared anduneven peaks in the TSA time waveform due to the contact between the twomeshing teeth no longer being smooth. Additional vibrations areintroduced as the uneven surfaces slide past each other. The TSAwaveform of FIG. 5, after 500 averages, clearly shows a spike in energybetween 180 and 200 degrees and FIG. 6 shows the teeth that these spikescorrespond to.

[0243] The teeth corresponding to the spike in energy between 180° and200° demonstrate characteristics that likely contribute to the increasedvibration magnitude seen in FIG. 5. The first is a very deep groove 650,as shown in FIG. 6. As the gear box has no clutch, and the gears simplyslide into each other during changing, it is most likely that the groove650 resulted from a gear change that occurred whilst the gears werestill rotating. It appears that the corner of the meshing gear hascollided with this gear, whilst trying to lock mesh. As rotationcontinued, and the gear moved further in towards full mesh, the angle onthe tooth shown in FIG. 6 has been scratched. This representsnon-localised adhesive wear. Localised adhesive wear damage 620 and 630and rolling contact fatigue damage 640 is also shown in FIG. 6. The wearlikely contributes to the spikes of energy shown in FIG. 5.

[0244]FIG. 7 shows the Order Tracked spectrum for the Time SynchronisedAverage and has a number of sidebands associated with the tooth meshingorder. These sidebands can be attributed to any of non-uniform wear onthe gear teeth, tooth damage, and incorrect spacing between gears. It istooth damage, in this case, that caused the orders around tooth mesh tohave relatively high magnitudes. If the gear were in better condition,the side bands around tooth-meshing order would have smaller relativeamplitudes.

[0245] A spectrum for a perfect tooth profile would approximate a sinewave with frequency corresponding to the tooth meshing frequency or oneof its harmonics. However, as no gear is perfect, there will always bedeviations from the perfect profile. The time synchronous average ofgear 3 in the reverse direction, after 500 averages, is shown in FIG. 8.Gear 3 has 81 teeth and is also located on the output shaft. FIG. 8 hasa much smoother profile, compared to FIG. 5, and provides a good exampleof a time waveform for a gear in relatively good condition.

[0246] The TSA time waveform of FIG. 8 has very distinct peaks on eitherside of 100°. The tooth just before 100° is the 22^(nd) tooth, thereforethe peaks 810 and 820 on either side correspond to the 21^(st) and23^(rd) teeth, respectively. Distinct rolling contact fatigue damage orpossibly hard particle ingress damage on the 21^(st) tooth 940 and the23^(rd) tooth 910 is shown in FIG. 9. FIG. 10 shows an enlarged view ofrolling contact fatigue damage or possibly hard particle ingress damage1010 and 1020 sustained on the 23^(rd) tooth 910 of FIG. 9. The 22^(nd)tooth, located between the 21^(st) tooth 940 and the 23^(rd) tooth 910appears to be in good condition.

[0247] The TSA time waveform in FIG. 8 also shows a distinct peak 830corresponding to the 9^(th) tooth. This peak is most likely attributableto the small hard particle indentation 1110 shown in FIG. 11. It ispossible that the indentation was caused by a piece of the mating gearthat may have been chipped off whilst attempting to change gears inmotion.

[0248]FIG. 12 shows the spectrum of the TSA for gear 3 (after 500averages), including a very sharp peak at 81 orders, which is thefundamental tooth meshing order. Additionally, no side bands can be seenas the orders around the tooth meshing order have very low magnitude.This confirms that gear 3 is in good condition.

Friction Winder Gearbox Example

[0249] A further analysis was conducted on a six-month-old gearbox of afriction winder capable of lifting 10 tonnes of ore from an undergroundgold mine. The skip is counter balanced with a 10 tonne mass, thereforethe gearbox is under the greatest load when the skip is empty andtravelling down.

[0250] The analysis was of the input shaft drive. An accelerometer wasinitially mounted in the vertical direction above the drive end bearing(output end). The resulting TSA time waveform for the reversingdirection, after 500 averages, is shown in FIG. 13, which exhibitsdistinct peaks 1310 around 90°. An inspection of the gear, which has 17teeth, revealed minor defects on the tooth that corresponds to thisposition. The tooth that corresponds to the peaks 1310 around 90° has alarge indentation 1410 on the ridge, as shown in FIGS. 14 and 15. FIG.15 shows an enlarged view of the indentation 1410 shown in FIG. 14,which most likely occurred during installation of the gear.

[0251]FIG. 16 shows the resulting TSA time waveform for the reversingdirection, after 500 averages, with the accelerometer mounted in thevertical direction at the drive end of the shaft. As the gear is locatedtowards the output side of the gear box, the TSA time waveform conductedon data collected above the output side bearing, as per FIG. 13, showsthis fault more clearly. FIG. 16 shows the magnitudes as much smallerand less distinct.

[0252] The orders spectrum for gear 3 is shown in FIG. 17. It can beseen that the dominant meshing harmonics for gear 3 are the 4^(th)harmonic 1710 and the 5^(th) harmonic 1720 of the tooth meshingfrequency. This explains why there are so many peaks, in fact there arebetween 4 and 5 peaks for each tooth. The tooth that corresponds to 180°also has a minor defect in that a very small spot exists where minorabrasive wear has occurred. It is further likely that there are defectson other teeth in the gearbox, as there are other definite spikes at 50and 290°.

[0253] Convergence

[0254] The optimum number of Time Synchronised Averages corresponds tothe minimum number of averages that are required to remove sufficientnoise and non-synchronous vibrations and display the essentialcharacteristics of the TSA time waveform. There is a trade off betweenthe number of averages and the cost of data collection. Essentially themore averages that are collected, the longer it will take to collect thedata and the greater the cost of performing the analysis will be. Thisis particularly the case with reversible drives as some data collectedwhilst the drive is decelerating, changing direction and thenaccelerating can not be processed.

[0255] In practice, the minimum acceptable number of averages will varyaccording to the characteristics of a particular machine. However, ithas been shown that doubling the number of averages reduces the signalto noise ratio by a factor of {square root}2. Thus, the minimumacceptable number of averages will also depend on the gearbox, itself,as the signal to noise ratio is different for every gearbox.

[0256] A known algorithm can be used to determine the number of averagesnecessary before the TSA time waveform begins to stabilise. Thealgorithm analyses a simplified correlation coefficient between thecumulative average (after N averages) and the cumulative average afterN/2 averages, where N is generally every number of averages that is apower of 2. The algorithm is shown below:

[0257] Stop averaging if:$L > {1 - \frac{\sum\limits_{j = {N - 50}}^{N}{x_{n,j} \times x_{{n/2},j}}}{\sum\limits_{j = {N - 50}}^{N}x_{n,j}^{2}}}$

[0258] where: L=leakage rate (by definition)

[0259] x_(n,j)=j^(th) point in the current average at n revs

[0260] x_(n/2,j)=j^(th) point in the average at n/2 revs

[0261] N=number of points in the average

[0262] The algorithm was tested by conducting TSA on a noisy gearbox, asmore averages are required for the case of a high signal to noise ratio.The algorithm predicted that convergence for a particular gear hadoccurred after 4 to averages. This was because after 4 averages theleakage factor was 0.037, which is less than a leakage factor of 0.05 ascalculated according to the algorithm.

[0263]FIG. 18 shows the TSA Time Waveforms for 4 averages and 4000averages. A comparison of the waveforms indicates that the maincharacteristics are substantially the same. However, differences doexist, suggesting that the calculated leakage factor of 0.05 is too highand should be modified.

[0264] In order to determine a more appropriate leakage value, the TSAtime waveform correlation coefficient between every average and the TSAafter 4000 averages was calculated. As the TSA time waveform approachesthat of the 4000 average TSA, the correlation coefficient will approacha value of one. How quickly this occurs indicates the effect eachadditional average has on the characteristics of the TSA time waveform.

[0265]FIG. 19 shows a graph of the correlation coefficient versus thenumber of averages. The highest correlation coefficient achieved tothree significant figures was 0.989. This occurred after 63 averages,thus suggesting the time waveform after 63 averages provides a very goodrepresentation of the characteristics of the gear.

[0266]FIG. 20 shows a plot of a TSA time waveform after 63 averagessuperimposed on a plot of a TSA time waveform after 4000 averages. FIG.20 illustrates that the characteristics of the two time waveforms areessentially the same. The leakage factor after 63 averages is 0.0001.Thus, to achieve this level of accuracy, the leakage should be set to0.0001.

[0267] The foregoing algorithm assumed that the mean for each set ofdata points was zero. This assumption was presumably made to simplifythe calculation of the correlation coefficient and reduce thecomputation time. Whilst the foregoing algorithm only analysed the last50 samples to allow for ‘droop’, the modified version describedhereinafter uses all the sample points in the calculation to ensure thatthe correlation coefficient is affected by any deviations in the timewaveform regardless of where the deviations occur. Furthermore, themodified version of the algorithm described hereinafter eliminates theassumption that the mean value for each set of data is zero.

[0268] The modified version of the algorithm is as follows: Stopaveraging if:$L > {1 - \frac{\sum\limits_{j = 1}^{N}{\left( {x_{n,j} - \overset{\_}{x_{n,j}}} \right) \times \left( {x_{{n/2},j} - \overset{\_}{x_{{n/2},j}}} \right)}}{\sqrt{\sum\limits_{j = 1}^{N}\left( {x_{n,j} - \overset{\_}{x_{n,j}}} \right)^{2}} \times \sqrt{\sum\limits_{j = 1}^{N}\left( {x_{{n/2},j} - \overset{\_}{x_{{n/2},j}}} \right)^{2}}}}$

[0269] where: L=leakage rate (by definition), typically set to 0.05

[0270] X_(n,j)=j th point in the current average (n revs)

[0271] X_(n/2,j)=j^(th) point in the average at n/2 revs

[0272] N=number of points in the average

[0273]FIG. 21 shows a plot of the leakage value versus the number ofaverages, using the modified version of the algorithm. It can clearly beseen this plot that, after 63 averages, the modified leakage factor isstill improving, however, after 100 averages the modified leakage factorchanges very little. Thus, the leakage factor that should be used withthe modified version of the algorithm to ensure that optimum convergencehas occurred is 0.0007, this value representing the leakage factor after100 averages.

[0274] To confirm validity of the modified algorithm, an analysis of themean magnitude difference was conducted. This involved calculating themean difference between each data point and the corresponding data pointafter 4000 averages. This method demonstrates the difference in themagnitudes of the time waveforms but does not give a particularly goodindication of how accurately the essential characteristics aredisplayed. The correlation coefficient is likely a better indicator, asin most cases it is more important that the characteristics areaccurately shown than the magnitudes.

[0275]FIG. 22 shows a graph of the mean difference in magnitude betweenthe TSA time waveform of a varying number of averages and the TSA TimeWaveform for 4000 averages. After 100 averages the mean magnitudedifference has stabilised and is only −0.6 g's, whereas after 63averages, the mean magnitude difference is still fluctuating at around−1.2 g's. The analysis of the mean difference suggests that, for thiscase, around 100 averages are sufficient to remove the majority of thenoise and non-synchronous components.

[0276]FIG. 23 shows that the TSA time waveform from 100 averagesaccurately illustrates the gear signature, whilst showing a reasonablerepresentation of the magnitudes when compared to a corresponding TSAwaveform from 4000 averages. FIG. 24 shows that the TSA time waveformfrom 500 averages exhibits an even greater accuracy when compared to thecorresponding TSA waveform from 4000 averages. The correlationcoefficient between 500 averages and 4000 averages is 0.988 and the meanmagnitude difference was −0.156 g's.

[0277] As discussed previously, the optimum number of averages requiredis dependent on the signal to noise ratio and the magnitude ofnon-synchronous components. These two factors are a function of theactual gearbox under evaluation. The optimum number of averages istherefore dependent on a specific gearbox and an analysis similar tothat presented hereinafter should be conducted to determine the optimumnumber of averages for each individual gearbox.

[0278] Computer Implementation

[0279] The method for analysing vibrations of reversible drives can beimplemented using a computer program product in conjunction with acomputer system 2500 as shown in FIG. 25. In particular, the method foranalysing vibrations of reversible drives can be implemented assoftware, or computer readable program code, executing on the computersystem 2500.

[0280] The computer system 2500 includes a computer 2550, a videodisplay 2510, and input devices in the form of a computer keyboard 2530and a computer mouse 2532. In addition, the computer system 2500 canhave any of a number of other output devices including line printers,laser printers, plotters, and other reproduction devices connected tothe computer 2550. The computer system 2500 can be connected to one ormore other computers via a communication interface 2564 using anappropriate communication channel 2540 such as a modem communicationspath, an electronic network, or the like. The network may include alocal area network (LAN), a wide area network (WAN), an Intranet, and/orthe Internet 2520.

[0281] The computer 2550 includes the control module 2566, a memory 2570that may include random access memory (RAM) and read-only memory (ROM),communications interface 2564, input/output (I/O) interface 2572, avideo interface 2560, and one or more storage devices generallyrepresented by the storage device 2562. The control module 2566 isimplemented using a central processing unit (CPU) that executes or runsa computer readable program code that performs a particular function orrelated set of functions.

[0282] The video interface 2560 is connected to the video display 2510and provides video signals from the computer 2550 for display on thevideo display 2510. User input to operate the computer 2550 can beprovided by one or more of the input devices 2530, 2532 via the I/Ointerface 2572. For example, a user of the computer 2550 can use akeyboard as I/O interface 2530 and/or a pointing device such as a mouseas I/O interface 2532. The keyboard and the mouse provide input to thecomputer 2550. The storage device 2562 can consist of one or more of thefollowing: a floppy disk, a hard disk drive, a magneto-optical diskdrive, CD-ROM, magnetic tape or any other of a number of non-volatilestorage devices well known to those skilled in the art. Each of theelements in the computer system 2550 is typically connected to otherdevices via a bus 2580 that in turn can consist of data, address, andcontrol buses.

[0283] A data acquisition module (not shown) can also be connected tothe bus 2580, either directly or via the I/O interface 2572. The dataacquisition module typically includes multiple input and output channelsfor simultaneously sampling input signals and delivering output signals.

[0284] The method steps for analysing vibrations of reversible drivesare effected by instructions in the software that are carried out by thecomputer system 2500. Again, the software may be implemented as one ormore modules for implementing the method steps.

[0285] In particular, the software may be stored in a computer readablemedium, including the storage device 2562 or that is downloaded from aremote location via the interface 2564 and communications channel 2540from the Internet 2520 or another network location or site. The computersystem 2500 includes the computer readable medium having such softwareor program code recorded such that instructions of the software or theprogram code can be carried out.

[0286] The computer system 2500 is provided for illustrative purposesand other configurations can be employed without departing from thescope and spirit of the invention. The foregoing is merely an example ofthe types of computers or computer systems with which the embodiments ofthe invention may be practised. Typically, the processes of theembodiments are resident as software or a computer readable program coderecorded on a hard disk drive as the computer readable medium, and readand controlled using the control module 2566. Intermediate storage ofthe program code and any data including entities, tickets, and the likemay be accomplished using the memory 2570, possibly in concert with thestorage device 2562.

[0287] In some instances, the program may be supplied to the userencoded on a CD-ROM or a floppy disk (both generally depicted by thestorage device 2562), or alternatively could be read by the user fromthe network via a modem device connected to the computer 2550. Stillfurther, the computer system 2500 can load the software from othercomputer readable media. This may include magnetic tape, a ROM orintegrated circuit, a magneto-optical disk, a radio or infra-redtransmission channel between the computer and another device, a computerreadable card such as a PCMCIA card, and the Internet 2520 and Intranetsincluding email transmissions and information recorded on Internet sitesand the like. The foregoing are merely examples of relevant computerreadable media. Other computer readable media may be practised withoutdeparting from the scope and spirit of the invention.

[0288] The method for analysing vibrations of reversible drives can berealised in a centralised fashion in one computer system 2500, or in adistributed fashion where different elements are spread across severalinterconnected computer systems.

[0289] Computer program means or computer program in the present contextmean any expression, in any language, code or notation, of a set ofinstructions intended to cause a system having an information processingcapability to perform a particular function either directly or aftereither or both of the following: a) conversion to another language, codeor notation or b) reproduction in a different material form.

[0290] The foregoing describes only a few arrangements and/orembodiments of the present invention, and modifications and/or changescan be made thereto without departing from the scope and spirit of theinvention, the arrangements and/or embodiments being illustrative andnot restrictive. TABLE 1 Arrival Times Script 1 function[forward_averages,reverse_averages,final_sample_time,total_forward_arriv,total_reverse_arriv,minspeedout,arrtime,arrtime2]=arrivaltimes(S1,S2,fs,avgsfwd,avgsrev,sr,begin_sample_time,mins peedin) %THIS PROGRAM CALCULATES THE ARRIVIL TIMES OF EACH TACHO PULSE, THENUMBER OF CONSTANT SPEED REVOLUTIONS AND THE % MINIMUM SPEED TODETERMINE THE MINIMUM NUMBER OF SAMPLE POINTS TO AVOID ALIASING % THEDATA REQUIRED IS % S1 = SIGNAL FROM HIGH QUALITY REFERENCE PULSE WHICHPULSES ONCE PER REVOLUTION % S2 = SECOND SIGNAL WHICH CAN BE FROM A LOWQUALITY PULSE GENERATOR, IT IS USED TO DETERMINE DIRECTION. % fs = THESAMPLING RATE THE DATA WAS COLLECTED AT % avgsfwd = THE NUMBER OFDESIRED FORWARD AVERAGES TO CALCULATE % avgsrev = THE NUMBER OF DESIREDREVERSE AVERAGES TO CALCULATE % sr = THE PERCENTAGE SPEED VARIATIONALLOWED BEFORE THE DATA IS DEEMED IN AN ACCELERATION OR DECELERATIONZONE % begin_sample_time = THE SAMPLE TIME OF THE FIRST SAMPLE POINT INTHIS EXPORT TO MATLAB RELATIVE TO THE FIRST SAMPLE % TIME IN THERECORDED DATA SET % minspeedin = THIS INPUTS THE MINIMUM SPEED FOUNDFROM THE DATA ANALYSED SO FAR S1=S1′; S2=S2′; DT=1/fs;final_sample_time=length(S1)*DT+begin_sample_time; %THIS SECTIONCOMPUTES THE ARRIVAL TIMES OF THE SHAFT PULSES [arrtime] =arrtimes(S1,DT,begin_sample_time); %REFERENCE PULSE [arrtime2] =arrtimes(S2,DT,begin_sample_time); % SECOND PULSE - IT IS USED TODETERMINE DIRECTION OF ROTATION S1=[ ]; %This removes Matrix S1 from thememory after it has been used S2=[ ]; %This removes Matrix S2 from thememory after it has been used clear S1 S2; %This ensueres the pulse timewaveforms are removed from memory %THIS SECTION SETS UP MATRICES TO BEUSED TO DETERMINE ROTATIONAL SPEED AND ACCELERATING PERIODStsleft=[arrtime([1:length(arrtime)−2])]; %This is to remove the finalpulse time so the matrix size is the same as tsright.tsright=[arrtime([2:length(arrtime)−1])]; % to shift the matrix by onedata point so we can look at the time difference between pulses.testbottom=(tsright−tsleft)*(1−sr); %This is to determine lower limit oftime per revolution variation before it is deemed to be acceleratingtesttop=(tsright−tsleft)*(1+sr); % This is to determine the upper limitof time per revolution variation before it is deemed to be deceleratingtestmid=tsright−tsleft; %This creates a matrix of the mid point of timeper rev (speed) variation to be used as a comparator clear tslefttsright %This clears these values from memory %This section simplyintialises the variables j=3; %this is done so the first 3 rotations areignored. i=3; xref=1;. %this describes the location of the second pulsein the string of pulse times relative to the reference pulse x=1; %thissimply helps to located the second pulse in the string of pulse timesrelative to the reference pulse. total_forward_arriv=[ ]; %this is toinitialise the arrival matrix total_reverse_arriv=[ ]; %this is toinitialise the arrival matrix in the reverse direction countspeed=0;%This is to keep track of the number of revolutions at each speedspeedfor=[ ]; %this sets the matrix of forward speeds to be emptyspeedrev=[ ]; %this sets the matrix of reverse speeds to be emptyspeed=[ ]; current_for_avgs=0; %This sets the current number of forwardaverages to zero current_rev_avgs=0; %This sets the current number ofreverse averages to zero mean_forward_speed=[ ]; mean_reverse_speed=[ ];forward_averages=[ ]; reverse_averages=[ ]; % THIS IS SECTION OF THEPROGRAM ACTUALLY CALCULATES THE CONSTANT VELOCITY SECTIONS ANDDETERMINES THE % NUMBER OF FORWARD CONSTANT SPEED REVOLUTIONS, THENUMBER OF REVERSE CONSTANT SPEED REVOLUTIONS AND % THE MINIMUM SPEEDwhile ((2<j) & (j<(length(arrtime)−2))) % THIS SECTION FIRST TESTS THATIT IS ROTATING AT A CONSTANT SPEED WITHIN THE ALLOWABLE VARIATION i=j+1;if ((testmid(j)<testtop(i)) & (testmid(j) > testbottom(i)));countspeed=0; speed=[ ]; %Now determine the period which it maintainsthis speed for while ((testmid(j)<testtop(i)) &(testmid(j)>testbottom(i)) & (i<(length(arrtime)−6)));countspeed=countspeed+1; speed(countspeed)=(1/testmid(i)); i=i+1; % toincrease each step until no longer constant velocity end if 3<(i−j)%THIS SIMPLY CUTS OUT ANY CONSECUTIVE CONSTANT SPEED INFORMATION IF THENUMBER OF REVOLUTIONS IS LESS THAN 3 %IT IS REQUIRED BECAUSE THERESAMPLING PROGRAM REQUIRES ATLEAST 3 ROTATIONS if (x<length(arrtime2) &j<length(testmid) & j<length(arrtime)) %This checks that the x and jvalues are within the range available if they aren't % then an error hasoccured and the break function will exit the loop % THIS FUNCTION CHECKSTHE REFERENCE PULSE AND THE SECOND PULSE ARE CORRECTLY REFERENCED TODETERMINE DIRECTION[xref,x,breaker]=refcheck(j,xref,testmid,arrtime,arrtime2); else breakend if breaker= =0 %This checks to see if the location of the secondreference pulse could not be found xref=1 %this is to set the referenceposition back to default after being changed in the above section whereno second pulse existed else %THE FOLLOWING SECTION CHECKS IF THIS PIECEOF INFORMATION IS IN THE FORWARD OR REVERSE DIRECTION %AND THENRESAMPLES AND PLACES THE DATA IN A MATRIX UNTIL THE FINAL AVERAGINGTAKES PLACE T2=arrtime(j)−arrtime2(x) T1=arrtime2(x)−arrtime(j) if T2<T1%THIS TEST IS TO SEE IF THE INFORMATION IS IN THE FORWARD DIRECTION ifcurrent_for_avgs<avgsfwd %This tests to see if the correct number ofaverages will be reached in this sample section. If they will it sets upthe correct number of samples to give the exact number of averagesdesired if (i−j)>(avgsfwd−current_for_avgs);i=j+(avgsfwd−current_for_avgs); end forward_arriv=[arrtime([j:i+1])];total_forward_arriv=[total_forward_arriv forward_arriv]speedfor=[speedfor speed] new_forward_averages=(length(forward_arriv))−1current_for_avgs=new_forward_averages+current_for_avgs end else % IF THEDATA WAS NOT IN THE FORWARD DIRECTION THEN BY DEFAULT IT MUST BE REVERSEif current_rev_avgs<avgsrev %This tests to see if the correct number ofaverages will be reached in this sample section. If they will it sets upthe correct number of samples to give the exact number of averagesdesired if (i−j)>(avgsrev−current_rev_avgs);i=j+(avgsrev−current_rev_avgs); end reverse_arriv=[arrtime([j:i])]total_reverse_arriv=[total_reverse_arriv reverse_arriv];speedrev=[speedrev speed]; end end end if (current_rev_avgs>avgsrev &current_for_avgs>avgsfwd) break end end j=i; %to set up test conditionsfor next iteration of constant velocity tests end j=j+1; % TO INCREMENTTO THE NEXT SHAFT OF INTEREST ARRIVAL TIME TO CHECK IF CONSTANT VELOCITYAND THEN REPEAT end clear testmid testbottom testtop %THIS CLEARS NOLONGER USED VARIABLES %THIS CALCULATES THE MINIMUM SPEED REVOLUTION ANDEXPORTS IT TO LABVIEW if length(speedfor)>0min_forward_speed=min(speedfor) else min_forward_speed=0.01 end iflength(speedrev)>0 min_reverse_speed=min(speedrev) elsemin_reverse_speed=0.01 end if (min_forward_speed>0.01 &min_reverse_speed>0.01)minspeedout=min(min_forward_speed,min_reverse_speed, minspeedin) else ifmin_reverse_speed>0.01 minspeedout=min(min_reverse_speed,minspeedin) endif min_forward_speed>0.01 minspeedout=min(min_forward_speed,minspeedin)end if min_forward_speed<=0.01 & min_reverse_speed<=0.01minspeedout=minspeedin end endforward_averages=length(total_forward_arriv)reverse_averages=length(total_reverse_arriv)

[0291] TABLE 2 Arrival Times Script 2 - Function used in Arrival Times 1function [arrtime] = arrtimes(S,DT,begin_sample_time) % THIS FUNCTIONCALCULATES THE ARRIVAL TIMES OF THE REFERENCE SHAFT GIVEN THE TIME %WAVEFORM CONTAINING THE PULSES FROM A PULSE GENERATOR % S = THE TIMEWAVEFORM CONTAINING THE PULSES GENERATED EACH REVOLTUTION. % DT = THESAMPLING TIME DT=1/Fs WHERE Fs IS THE SAMPLING FREQUENCY % arrtime = ISTHE MATRIX OF ARRIVAL TIMES OF THE REFERENCE SHAFT % This sets theintercept value tmax = max(S); if tmax>0.3 %This is just in case thepulse is smaller than 0.3 volts intercept=0.3; else intercept=0.2*tmaxend % Now Create matrix Sright, which is exactly the same as S but timeshifted by one data point to the right Sright = [S(1);S([1:length(S)−1))]; % THE TIMES AT WHICH THE PULSE TIME WAVEFORMCROSSES THE INTERCEPT ARE CALCULATED init = find(S>intercept &Sright<intercept); % A SHORT MATRIX WITH POINTS EITHER SIDE OF THOSEDETERMINED IN INIT ABOVE IS SET UP. % THE TIMES (WHICH RELATE TO ASAMPLE) ARE THEN INTERPOLATED if length(init)>0 %Only conducts theanalysis if some arrival times to interpolate if init(1)>2 &(init(length(init))+2)<length(S) %This statement ensures there is enoughdata for k=1:(length(init)); %This if statement just ensures there areenough data points ifor((S(init(k))<S(init(k)+1)),(S(init(k))>S(init(k)+1))) %This ensures notwo points are the same because if they are the spline function does notwork y = [S(init(k)−3);S(init(k)−2);S(init(k)−1);S(init(k));S(init(k)+1);S(init(k)+2);S(init(k)+3)]; x =[(init(k)−3)*DT;(init(k)−2)*DT;(init(k)−1)*DT;init(k)*DT;(init(k)+1)*DT;(init(k)+2)*DT; (init(k)+3)*DT];arrtime(k) = interp1q(y,x,intercept); %THIS IS THE MATRIX OF ARRIVALTIMES (SECONDS) end end else %This reduces the end points if such asituation exists where they do not exist for k=3:(length(init)−2) y =[S(init(k)−3);S(init(k)−2);S(init(k)−1);S(init(k));S(init(k)+1);S(init(k)+2);S(init(k)+3)]; x =[(init(k)−3)*DT;(init(k)−2)*DT;(init(k)−1)*DT;init(k)*DT;(init(k)+1)*DT;(init(k)+2)*DT; (init(k)+3)*DT];arrtime(k) = interp1q(y,x,intercept); %THIS IS THE MATRIX OF ARRIVALTIMES (SECONDS) end end arrtime=arrtime+begin_sample_time; end iflength(init)<1 arrtime=[ ] %This gives an empty matrix if no arrivaltimes exist, it avoids error messages end clear tmax S intercept Srightinit x y

[0292] TABLE 3 Shaft Of Interest Arrival Time Script function[shoiarrtime] = shoiarrtime (arrtime,REF_TO_INTEREST_RATIO) % THISFUNCTION CALCULATES THE ARRIVAL TIMES OF THE SHAFT OF INTEREST GIVEN THECYCLE TIMES OF THE REFERENCE SHAFT % REF_TO_INTEREST_RATIO = IS THEFIXED VELOCITY RATIO BETWEEN THE PULSE GENERATING REFERENCE SHAFT ANDTHE SHAFT OF INTEREST % eg reference shaft:shaft of interest => 1:20 =>REF_TO_INTEREST_RATIO=20 % arrtime = IS THE MATRIX OF ARRIVAL TIMES OFTHE REFERENCE SHAFT % shoiarrtime = THE ARRIVAL TIMES OF THE SHAFT OFINTEREST arrtime(1)=[ ];%this removes the first arrival point in thereference pulse % CREATING A MATRIX OF REFERENCE .SHAFT CYCLES refcyc =0:1:(length(arrtime)−1); % NOW CREATE A MATRIX OF CYCLES FOR THE SHAFTOF INTEREST BASED UPON REFERENCE SHAFT CYCLES soicycle =0:REF_TO_INTEREST_RATIO:(length(arrtime)−1); %starts from 1 to ensure noerrors from one pulse comming before the other % USE INTERP1 TO RETURN AMATRIX CONTAINING THE ARRIVAL TIMES OF THE SHAFT OF INTEREST shoiarrtime= interp1(refcyc,arrtime,soicycle,‘linear’);shoiarrtime=shoiarrtime(1:length(shoiarrtime)−1); %This removes the partrevolution on the end. clear refcyc soicycle clear arrtime arrtime2refcyc2 soicycle2

[0293] TABLE 4 Resampling Vibration Data Into Forward And ReverseDirection Script function[mean_forward_speed,mean_reverse_speed,forward_averages,reverse_averages,vtotalforward,vtotalreverse,finalsampletime] =labviewresample(vib,fs,n,avgsfwd,avgsrev,sr,arrtime,arrtime2,beginsampletime); % THIS PROGRAM RESAMPLES THE CONSTANT SPEED REVOLUTIONSDATA INTO THE ANGLE DOMAIN % THE FORWARD AND REVERSE DATA ARE APPENDEDINTO SEPARATE MATRIX SO THE RESULT IS % A FORWARD CONTINUOUS ANGLEDOMAIN DATA SET AND A REVERSE CONTINOUS ANGLE DOMAIN DATA SET % THE DATAREQUIRED IS; % vib = THE SIGNAL CONTAINING THE VIBRATION INFORMATION EGFROM ACCELEROMETER % fs = THE SAMPLING TIME RATE % n = THE NUMBER OFSAMPLE POINTS PER REVOLUTION. % avgsfwd = THE NUMBER OF DESIRED FORWARDAVERAGES TO CALCULATE % avgsrev = THE NUMBER OF DESIRED REVERSE AVERAGESTO CALCULATE % sr = THE PERCENTAGE SPEED VARIATION ALLOWED BEFORE THEDATA IS DEEMED IN AN ACCELERATION OR DECELERATION ZONE %begin_sample_time = THE SAMPLE TIME OF THE FIRST SAMPLE POINT IN THISEXPORT TO MATLAB RELATIVE TO THE FIRST SAMPLE % arrtime = THE MATRIX OFARRIVAL TIMES FOR PULSE 1 % arrtime2 = THE MATRIX OF ARRIVAL TIMES FORPULSE 2 DT=1/fs; finalsampletime=(length(vib)*DT)+beginsampletime; %Thisdetermines the final sample time to be used as the beginning sample timein the next iteration %THIS SECTION SETS UP MATRIX TO BE USED TODETERMINE ROTATIONAL SPEED AND ACCELERATING PERIODStsleft=[arrtime([1:length(arrtime)−2])]; %to remove the final pulse timeso the matrix size is the same as tsright.tsright=[arrtime([2:length(arrtime)−1])]; % to shift the matrix by onedata point so we can look at the time difference between pulses.testbottom=(tsright−tsleft)*(1−sr); %lower limit of time per revolutionvariation before it is determined to be acceleratingtesttop=(tsright−tsleft)*(1+sr);%upper limit of time per revolutionvariation before it is decided that the shaft is acceleratingtestmid=tsright−tsleft; %mid point of time per rev (speed) variation tobe used as a comparator clear tsleft tsright % CREATE A MATRIX OF PULSETIMES FOR THE ORIGINAL VIBRATION DATA TIME =beginsampletime:DT:finalsampletime; %In the final program with recordedinformation this sets up the time matrix, here it simply replaces thepreviously calculated TIME values in tsa it is set from DT on becausethe arrival time function treats the first point as dt %This sectionsimply intialises the variables j=3; %This is done so the first 3rotations are ignored. i=3; xref=1; %This describes the location of thesecond pulse in the string of pulse times relative to the referencepulse.vtotalforward=[ ];%sets the initial forward matrix to be an emptymatrix x=1; %This simply helps to located the second pulse in the stringof pulse times relative to the reference pulse. vtotalreverse=[ ]; %Setsthe initial reverse matrix to be an empty matrix vtotalforward=[ ];%Sets the initial forward matrix to be an empty matrix countspeed=0;%This is to keep track of the number of revolutions at each speedspeedfor=[ ]; speedrev=[ ]; speed=[ ]; current_for_avgs=0;current_rev_avgs=0; mean_forward_speed=[ ]; mean_reverse_speed=[ ];%this is just to have matlab recognise the variable in the case wherethere is no reverse information. forward_averages=[ ];reverse_averages=[ ]; % THIS IS SECTION OF THE PROGRAM ACTUALLYCALCULATES THE CONSTANT VELOCITY SECTIONS AND SEPARATELY RECORDS THEFORWARD % AND THE REVERSE INFORMATION while ((2<j) &(j<(length(arrtime)−2))) %FIRST TEST THAT IT IS ROTATING AT A CONSTANTSPEED WITHIN THE ALLOWABLE VARIATION i=j+1; if ((testmid(j)<testtop(i))& (testmid(j) > testbottom(i))); countspeed=0; speed=[ ]; %Now determinethe period which it maintains this speed for while((testmid(j)<testtop(i)) & (testmid(j)>testbottom(i)) &(i<(length(arrtime)−6))); countspeed=countspeed+1;speed(countspeed)=(1/testmid(i)); i=i+1; % To increase each step untilno longer constant velocity end if 3<(i−j) %THIS SIMPLY CUTS OUT ANYCONSECUTIVE CONSTANT SPEED INFORMATION IF THE NUMBER OF REVOLUTIONS ISLESS THAN 3 %IT IS REQUIRED BECAUSE THE RESAMPLING PROGRAM REQUIRESATLEAST 3 ROTATIONS if (x<length(arrtime2) & j<length(testmid) &j<length(arrtime)) %This checks that the x and j values are within therange available if they aren't %then an error has occured and the breakfunction will exit the loop % THIS FUNCTION CHECKS THE REFERENCE PULSEAND THE SECOND PULSE ARE CORRECTLY REFERENCED TO DETERMINE DIRECTION[xref,x,breaker]=refcheck(j,xref,testmid,arrtime,arrtime2); else breakend if breaker= =0 %This checks to see if the location of the secondreference pulse could not be found xref=1 %this is to set the referenceposition back to default after being changed in the above section whereno second pulse existed else %THE FOLLOWING SECTION CHECKS IF THIS PIECEOF INFORMATION IS IN THE FORWARD OR REVERSE DIRECTION %AND THENRESAMPLES AND PLACES THE DATA IN A MATRIX T2=arrtime(j)−arrtime2(x)T1=arrtime2(x)−arrtime(j) if T2<T1 %THIS TEST TO SEE IF THE INFORMATIONIS IN THE FORWARD DIRECTION %This tests to see if the correct number ofaverages will be reached in this sample section. If they will it sets upthe correct number of samples to give the exact number of averagesdesired if current_for_avgs<avgsfwd if (i−j)>(avgsfwd−current_for_avgs);i=j+(avgsfwd−current_for_avgs); end if(length(vib)>((max(testmid))*fs*2)) %THis is just a trial to check butessentially it is trying to avoid resample if not enough informationther must be atleast two revolutions of information in this test %THISFUNCTION RESAMPLES THE INFORMATION AND PLACES IT IN A MATRIX CONTAININGTHE FORWARD INFORMATION ONLY [vibforwardnew] =resample(arrtime,j,i,DT,n,TIME,vib); %THIS SIMPLY ADDS THE CURRENTFORWARD DATA TO PREVIOUSLY COLLECTED FORWARD DATAvtotalforward=[vtotalforward vibforwardnew]; current_for_avgs =(length(vtotalforward))/n; speedfor=[speedfor speed]; end end else %Thistests to see if the correct number of averages will be reached in thissample section. If they will it sets up the correct number of samples togive the exact number of averages desired if current_rev_avgs<avgsrev if(i−j)>(avgsrev−current_rev_avgs); i=j+(avgsrev−current_rev_avgs); end if(length(vib)>((max(testmid))*fs*2)) %This avoids resampling if notenough information %THIS FUNCTION RESAMPLES THE INFORMATION AND PLACESIT IN A MATRIX CONTAINING THE REVERSE INFORMATION ONLY [vibreversenew] =resample(arrtime,j,i,DT,n,TIME,vib); %THIS SIMPLY ADDS THE CURRENTREVERSE DATA TO PREVIOUSLY COLLECTED REVERSE DATAvtotalreverse=[vtotalreverse vibreversenew]; current_rev_avgs =(length(vtotalreverse))/n; speedrev=[speedrev speed]; end end end endclear vibforwardnew vibreversenew if (current_rev_avgs>avgsrev &current_for_avgs>avgsfwd) break end end j=i; %to set up test conditionsfor next iteration of constant velocity tests end j=j+1; % TO INCREMENTTO THE NEXT SHAFT OF INTEREST ARRIVAL TIME TO CHECK IF CONSTANT VELOCITYAND THEN REPEAT end %THIS GIVES SOME USEFUL INFORMATION WITH REGARD TOAVERAGE ROTATIONAL SPEED OF DATA ANALSYSED if length(speedfor)>0mean_forward_speed=mean(speedfor) end if length(speedrev)>0mean_reverse_speed=mean(speedrev) endsizefor=length(vtotalforward);%THIS LINE GETS THE SIZE OF THEvtotalreverse MATRIX % %THIS TESTS THE SIZE OF THE vtotalreverse MATRIXTO SEE IF THERE IS ANY REVERSE INFORMATION if sizefor>0forward_averages=sizefor/n; if forward_averages<avgsfwd ‘The maximumnumber of forward averages that can be computed with the given data is’forward_averages else ‘The number of forward averages computed is’forward_averages end else %THIS SIMPLY GIVES A MESSAGE IF NO FORWARDINFORMATION ‘There is no forward information’ forward_averages=0; endsizerev=length(vtotalreverse); %THIS LINE GETS THE SIZE OF THEvtotalreverse MATRIX % %THIS TESTS THE SIZE OF THE vtotalreverse MATRIXTO SEE IF THERE IS ANY REVERSE INFORMATION if sizerev>0 reverse_averages= sizerev/n; if reverse_averages<avgsrev ‘The maximum number of reverseaverages that can be computed with the given data is’ reverse_averageselse ‘The number of reverse averages computed is’ reverse_averages endelse %THIS SIMPLY GIVES A MESSAGE IF NO REVERSE INFORMATION ‘There is noreverse information’ reverse_averages=0; end

[0294] TABLE 5 Pulse Reference Check Script function[xref,x,breaker]=refcheck(j,xref,testmid,tsoicl,tsoic2) % THIS FUNCTIONCHECKS THE REFERENCE PULSE AND THE SECOND PULSE ARE CORRECTLY REFERENCEDTO DETERMINE THE DIRECTION OF ROTATION %This is used to tell the mainprogram to move on to the next arrival time of the shaft because if thereference arrival time does not have a corresponding second pulsebreaker=1; %This sets up the initial reference position which is usuallyone position behind x=j−xref; %This simply ensures that x is not lessthan one if x<1 x=1; %This just initialises x to 1 if it is less than 1end % THIS FINDS THE REFERENCE OF THE SECOND PULSE RELATIVE TO THE FIRSTif (((abs((testmid(j))))/2)<(abs(tsoic1(j)−tsoic2(x)))) %This is thetest to determine if the two pulses are consecutive if j>10 x=j−9−xref;%This goes back 11 positions and searches for the correct referenceposition end if j<10 x=1; %This goes back to the begining of the matrixand searches for the reference position if j is less than 10 end while((abs(testmid(j)/2))<((abs(tsoic1(j)−tsoic2(x))))) %This section checks2 pulses either side to find the correct pulse to reference x=x+1; ifx>(length(tsoic2)) x=1; while(((abs((testmid(j))))/2)<(abs(tsoic1(j)−tsoic2(x)))) x=x+1; ifx>(j−xref) %When x reaches this value all the values of x have beenchecked breaker=0; %This is used to send a signal back to the mainprogram to break out of the while loop ‘1AN ERROR OCCURED IN YOUR DATACOLLECTION, THERE IS NO CORRESPONDING SECOND REFERENCE PULSE TODETERMINE DIRECTION OF ROTATION’ break end end end if breaker= =0test=10 break end end end x xref=j−x %This keeps track of the relativeposition of the second pulses time

[0295] TABLE 6 Resampling Script function [vibresamplednew] =resample(shoiarrtime,j,i,DT,N,TIME,VIB) % THIS FUNCTION DETERMINES THERESAMPLE TIMES THAT THE ORIGINAL VIBRATION INFORMATION MUST BE RESAMPLEDAT % TO GIVE N SAMPLES PER REVOLUTION IN THE ANGLE DOMAIN % shoiarrtime= THE MATRIX OF ARRIVAL TIMES OF THE SHAFT OF INTEREST % DT = SAMPLINGINTERVAL % N = THE NUMBER OF SAMPLES POINTS REQUIRED FOR EVERYREVOLUTION OF THE SHAFT OF INTEREST % FOR FASTEST COMPUTATIONAL TIMES ITIS BEST THAT N IS A POWER OF 2 % THIS SETS UP A MATRIX OF ARRIVAL TIMESTHAT RELATE TO THIS BLOCK OF FORWARD OR REVERSE INFORMATIONarrtime=[shoiarrtime([j:i])]; % THIS SETS UP VIBRATION MATRIX AND TIMEMATRIX CONTAINING ONLY THE DATA OF INTERESTtest1=find(TIME>shoiarrtime(j−1) & TIME<shoiarrtime(i+1));VIB1=VIB(test1); TIME1=TIME(test1); % THIS SETS UP A DUMMY MATRIX OFPOINTS RELATING TO EACH REQUIRED SAMPLE (N for every rotation)dummy=1:(1/N):length(arrtime); % THIS SETS UP A MATRIX OF POINTS WHICHCORRESPOND TO THE ARRIVAL TIMES MATRIX arrivalpoints =1:1:length(arrtime); % THIS INTERPOLATES TO FIND THE RESAMPLE TIMESresamptimes=interp1(arrivalpoints, arrtime,dummy,‘linear’); % THISRESAMPLES THE VIBRATION DATA AT THE RESAMPLE TIMES vibresampled =interp1(TIME1, VIB1,resamptimes,‘cubic’); % THIS IS TO GET RID OF EXTRAPOINT ON THE END OF INTERPOLATION THAT RESAMPLING CREATESvibresamplednew=[vibresampled ([1:length(vibresampled)−1])]; cleararrtime dummy arrivalpoints resamptimes vibresampled

[0296] TABLE 7 Kurtosis Calculation Script function [K]=kurtosis(n,tsa)%THIS FUNCTION COMPUTES THE KURTOSIS VALUE FOR THE TIME SYNCHRONOUSAVERAGE avgetsa=mean(tsa); for x=1:n XM(x)=(tsa(x)−avgetsa){circumflexover ( )}4; end s=std(tsa); K=(sum(XM))/(n*(s{circumflex over ( )}4));

1. A method for detecting vibration signatures in a reversible drive,said method comprising the steps of: acquiring digital datarepresentative of vibrations in said reversible drive; identifyingportions of said data using a processor means; and grouping togethersaid identified portions of data in a plurality of groups; wherein eachof said identified portions of data relate to a particular direction oftravel of said reversible drive and said plurality of groups relate todifferent directions of travel of said reversible drive.
 2. The methodof claim 1, wherein grouping together identified portions of datarelating to a particular direction of travel is done by appendingsuccessive portions to an accumulation of previous data portions alsorelating to the particular direction..
 3. The method of claim 1 whereineach successive sample of each of said one or more groups of identifiedportions of data corresponds to a successive sample position of saidreversible drive.
 4. The method of claims 1, wherein the reversibledrive changes its direction of travel while the data is acquired.
 5. Themethod of claim 1, wherein said identified portions of data arerepresentative of substantially constant speed of operation of saidreversible drive.
 6. The method of claim 1, wherein said digital dataincludes data sampled at a variable sampling rate synchronized to thespeed of said reversible drive.
 7. The method of claim 1, wherein saiddigital data includes data sampled at a fixed time interval samplingrate.
 8. The method of claim 7, further comprising the step ofresampling said digital data, wherein each successive sample of theresampled digital data corresponds to a successive position of saidreversible drive and the distance between each of said successivepositions is a constant amount.
 9. The method of claim 1, furthercomprising the step of processing at least one of said groups ofidentified portions of data to produce data representative of one ormore vibration signatures.
 10. The method of claim 9, wherein saidprocessing step comprises one or more steps selected from the groupconsisting of: accumulating the average, in the time domain, of the datacomprising one of said groups; accumulating the average, in the angledomain, of the data comprising one of said groups; accumulating theaverage, in the frequency domain, of the data comprising one of saidgroups; accumulating the average, in the orders domain, of the datacomprising one of said groups; computing a time synchronised averagetime waveform of the data comprising one of said groups; computing afrequency spectrum of a time synchronised average of the data comprisingone of said groups; computing an order tracked frequency spectrum of thedata comprising one of said groups; computing the kurtosis of anaccumulated time domain average; computing the kurtosis of anaccumulated angle domain average; computing the kurtosis of a timesynchronized average time waveform; and computing a demodulatedfrequency spectrum of the data comprising one of said groups.
 11. Asystem for detecting vibration signatures in a reversible drive,comprising: transducer means for acquiring digital data representativeof vibrations in said reversible drive; processor means for identifyingportions of said data; and processor means for grouping together saididentified portions of data in a plurality of groups; wherein each ofsaid identified portions of data relate to a particular direction oftravel of said reversible drive and said plurality of groups relate todifferent directions of travel of said reversible drive.
 12. A computerprogram product having a computer readable medium having a computerprogram recorded therein for detecting vibration signatures in areversible drive, wherein said computer program product comprises:computer program code means for acquiring digital data representative ofvibrations in said reversible drive; computer program code means foridentifying portions of said data; and computer program code means forgrouping together said identified portions of data in a plurality ofgroups; wherein each of said identified portions of data relate to aparticular direction of travel of said reversible drive and saidplurality of groups relate to different directions of travel of saidreversible drive.
 13. A method for detecting vibration signatures in arotating and/or cyclic machinery, comprising the steps of: acquiringdigital data representative of vibrations in the machinery, wherein thedata includes data acquired at different speeds of the machinery;identifying portions of the data relating to a predetermined speed andacceleration range of the machinery and for identifying portions of thedata outside the predetermined speed and acceleration range, wherein aprocessor means is used for identifying the portions of the data; andgrouping together the identified portions of data relating to thepredetermined speed and acceleration range in a group relating to datain the predetermined speed and acceleration range, by appendingsuccessive portions to an accumulation of previous data portions alsorelating to the predetermined speed and acceleration range.
 14. A systemfor detecting vibration signatures in a rotating and/or cyclic machinerycomprising: transducer means for acquiring digital data representativeof vibrations in the machinery; processor means for identifying portionsof said data relating to a predetermined speed and acceleration range ofthe machinery and for identifying portions of the data outside thepredetermined speed and acceleration range; and processor means forgrouping together said identified portions of data relating to thepredetermined speed and acceleration range in a group relating to datain the predetermined speed and acceleration range by appendingsuccessive portions to an accumulation of previous data portions alsorelating to the predetermined speed and acceleration range.
 15. Acomputer program product having a computer readable medium having acomputer program recorded therein for detecting vibration signatures ina rotating and/or cyclic machinery said computer program productcomprising: computer program code means for acquiring digital datarepresentative of vibrations in the machinery; computer program codemeans for identifying portions of said data relating to a predeterminedspeed and acceleration range of the machinery and for identifyingportions of the data outside the predetermined speed and accelerationrange; and computer program code means for grouping together saididentified portions of data relating to the predetermined speed andacceleration range in a group relating to data in the predeterminedspeed and acceleration range by appending successive portions to anaccumulation of previous data portions also relating to thepredetermined speed and acceleration range.
 16. The method of claim 2wherein each successive sample of each of said one or more groups ofidentified portions of data corresponds to a successive sample positionof said reversible drive.
 17. The method of claim 2 wherein thereversible drive changes its direction of travel while the data isacquired.
 18. The method of claim 3 wherein the reversible drive changesits direction of travel while the data is acquired.
 19. The method ofclaim 1 wherein the identified portions of data in the forward andreverse directions of travel are separated.